| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/drive/job_scheduler.h" | 5 #include "chrome/browser/chromeos/drive/job_scheduler.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 base::Time(), | 430 base::Time(), |
| 431 base::Time(), | 431 base::Time(), |
| 432 ClientContext(USER_INITIATED), | 432 ClientContext(USER_INITIATED), |
| 433 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 433 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 434 base::RunLoop().RunUntilIdle(); | 434 base::RunLoop().RunUntilIdle(); |
| 435 | 435 |
| 436 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | 436 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); |
| 437 ASSERT_TRUE(entry); | 437 ASSERT_TRUE(entry); |
| 438 } | 438 } |
| 439 | 439 |
| 440 TEST_F(JobSchedulerTest, RenameResource) { | |
| 441 ConnectToWifi(); | |
| 442 | |
| 443 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | |
| 444 | |
| 445 scheduler_->RenameResource( | |
| 446 "2_file_resource_id", | |
| 447 "New Title", | |
| 448 google_apis::test_util::CreateCopyResultCallback(&error)); | |
| 449 base::RunLoop().RunUntilIdle(); | |
| 450 | |
| 451 ASSERT_EQ(google_apis::HTTP_SUCCESS, error); | |
| 452 } | |
| 453 | |
| 454 TEST_F(JobSchedulerTest, AddResourceToDirectory) { | 440 TEST_F(JobSchedulerTest, AddResourceToDirectory) { |
| 455 ConnectToWifi(); | 441 ConnectToWifi(); |
| 456 | 442 |
| 457 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 443 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 458 | 444 |
| 459 scheduler_->AddResourceToDirectory( | 445 scheduler_->AddResourceToDirectory( |
| 460 "1_folder_resource_id", | 446 "1_folder_resource_id", |
| 461 "2_file_resource_id", | 447 "2_file_resource_id", |
| 462 google_apis::test_util::CreateCopyResultCallback(&error)); | 448 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 463 base::RunLoop().RunUntilIdle(); | 449 base::RunLoop().RunUntilIdle(); |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 812 scheduler_->AddNewDirectory( | 798 scheduler_->AddNewDirectory( |
| 813 fake_drive_service_->GetRootResourceId(), | 799 fake_drive_service_->GetRootResourceId(), |
| 814 "New Directory", | 800 "New Directory", |
| 815 DriveServiceInterface::AddNewDirectoryOptions(), | 801 DriveServiceInterface::AddNewDirectoryOptions(), |
| 816 ClientContext(USER_INITIATED), | 802 ClientContext(USER_INITIATED), |
| 817 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 803 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 818 expected_types.insert(TYPE_GET_ABOUT_RESOURCE); | 804 expected_types.insert(TYPE_GET_ABOUT_RESOURCE); |
| 819 scheduler_->GetAboutResource( | 805 scheduler_->GetAboutResource( |
| 820 google_apis::test_util::CreateCopyResultCallback( | 806 google_apis::test_util::CreateCopyResultCallback( |
| 821 &error, &about_resource)); | 807 &error, &about_resource)); |
| 822 expected_types.insert(TYPE_RENAME_RESOURCE); | 808 expected_types.insert(TYPE_UPDATE_RESOURCE); |
| 823 scheduler_->RenameResource( | 809 scheduler_->UpdateResource( |
| 824 "2_file_resource_id", | 810 "2_file_resource_id", |
| 811 std::string(), |
| 825 "New Title", | 812 "New Title", |
| 826 google_apis::test_util::CreateCopyResultCallback(&error)); | 813 base::Time(), |
| 814 base::Time(), |
| 815 ClientContext(USER_INITIATED), |
| 816 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 827 expected_types.insert(TYPE_DOWNLOAD_FILE); | 817 expected_types.insert(TYPE_DOWNLOAD_FILE); |
| 828 scheduler_->DownloadFile( | 818 scheduler_->DownloadFile( |
| 829 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path | 819 base::FilePath::FromUTF8Unsafe("drive/whatever.txt"), // virtual path |
| 830 kDummyDownloadFileSize, | 820 kDummyDownloadFileSize, |
| 831 temp_dir.path().AppendASCII("whatever.txt"), | 821 temp_dir.path().AppendASCII("whatever.txt"), |
| 832 "2_file_resource_id", | 822 "2_file_resource_id", |
| 833 ClientContext(BACKGROUND), | 823 ClientContext(BACKGROUND), |
| 834 google_apis::test_util::CreateCopyResultCallback(&error, &path), | 824 google_apis::test_util::CreateCopyResultCallback(&error, &path), |
| 835 google_apis::GetContentCallback()); | 825 google_apis::GetContentCallback()); |
| 836 | 826 |
| 837 // The number of jobs queued so far. | 827 // The number of jobs queued so far. |
| 838 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); | 828 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); |
| 839 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_ADD_NEW_DIRECTORY)); | 829 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_ADD_NEW_DIRECTORY)); |
| 840 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_GET_ABOUT_RESOURCE)); | 830 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_GET_ABOUT_RESOURCE)); |
| 841 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_RENAME_RESOURCE)); | 831 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_UPDATE_RESOURCE)); |
| 842 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_DOWNLOAD_FILE)); | 832 EXPECT_TRUE(logger.Has(JobListLogger::ADDED, TYPE_DOWNLOAD_FILE)); |
| 843 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); | 833 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); |
| 844 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); | 834 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); |
| 845 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_RENAME_RESOURCE)); | 835 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_UPDATE_RESOURCE)); |
| 846 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); | 836 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); |
| 847 | 837 |
| 848 // Add more jobs. | 838 // Add more jobs. |
| 849 expected_types.insert(TYPE_ADD_RESOURCE_TO_DIRECTORY); | 839 expected_types.insert(TYPE_ADD_RESOURCE_TO_DIRECTORY); |
| 850 scheduler_->AddResourceToDirectory( | 840 scheduler_->AddResourceToDirectory( |
| 851 "1_folder_resource_id", | 841 "1_folder_resource_id", |
| 852 "2_file_resource_id", | 842 "2_file_resource_id", |
| 853 google_apis::test_util::CreateCopyResultCallback(&error)); | 843 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 854 expected_types.insert(TYPE_COPY_RESOURCE); | 844 expected_types.insert(TYPE_COPY_RESOURCE); |
| 855 scheduler_->CopyResource( | 845 scheduler_->CopyResource( |
| (...skipping 23 matching lines...) Expand all Loading... |
| 879 base::RunLoop().RunUntilIdle(); | 869 base::RunLoop().RunUntilIdle(); |
| 880 | 870 |
| 881 // All jobs except the BACKGROUND job should have started running (UPDATED) | 871 // All jobs except the BACKGROUND job should have started running (UPDATED) |
| 882 // and then finished (DONE). | 872 // and then finished (DONE). |
| 883 jobs = scheduler_->GetJobInfoList(); | 873 jobs = scheduler_->GetJobInfoList(); |
| 884 ASSERT_EQ(1U, jobs.size()); | 874 ASSERT_EQ(1U, jobs.size()); |
| 885 EXPECT_EQ(TYPE_DOWNLOAD_FILE, jobs[0].job_type); | 875 EXPECT_EQ(TYPE_DOWNLOAD_FILE, jobs[0].job_type); |
| 886 | 876 |
| 887 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_ADD_NEW_DIRECTORY)); | 877 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_ADD_NEW_DIRECTORY)); |
| 888 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_GET_ABOUT_RESOURCE)); | 878 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_GET_ABOUT_RESOURCE)); |
| 889 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_RENAME_RESOURCE)); | 879 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_UPDATE_RESOURCE)); |
| 890 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, | 880 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, |
| 891 TYPE_ADD_RESOURCE_TO_DIRECTORY)); | 881 TYPE_ADD_RESOURCE_TO_DIRECTORY)); |
| 892 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_COPY_RESOURCE)); | 882 EXPECT_TRUE(logger.Has(JobListLogger::UPDATED, TYPE_COPY_RESOURCE)); |
| 893 EXPECT_FALSE(logger.Has(JobListLogger::UPDATED, TYPE_DOWNLOAD_FILE)); | 883 EXPECT_FALSE(logger.Has(JobListLogger::UPDATED, TYPE_DOWNLOAD_FILE)); |
| 894 | 884 |
| 895 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); | 885 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_ADD_NEW_DIRECTORY)); |
| 896 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); | 886 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_GET_ABOUT_RESOURCE)); |
| 897 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_RENAME_RESOURCE)); | 887 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_UPDATE_RESOURCE)); |
| 898 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_ADD_RESOURCE_TO_DIRECTORY)); | 888 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_ADD_RESOURCE_TO_DIRECTORY)); |
| 899 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_COPY_RESOURCE)); | 889 EXPECT_TRUE(logger.Has(JobListLogger::DONE, TYPE_COPY_RESOURCE)); |
| 900 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); | 890 EXPECT_FALSE(logger.Has(JobListLogger::DONE, TYPE_DOWNLOAD_FILE)); |
| 901 | 891 |
| 902 // Run the background downloading job as well. | 892 // Run the background downloading job as well. |
| 903 ConnectToWifi(); | 893 ConnectToWifi(); |
| 904 base::RunLoop().RunUntilIdle(); | 894 base::RunLoop().RunUntilIdle(); |
| 905 | 895 |
| 906 // All jobs should have finished. | 896 // All jobs should have finished. |
| 907 EXPECT_EQ(0U, scheduler_->GetJobInfoList().size()); | 897 EXPECT_EQ(0U, scheduler_->GetJobInfoList().size()); |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1061 scheduler_->CancelJob(first_job_id); | 1051 scheduler_->CancelJob(first_job_id); |
| 1062 | 1052 |
| 1063 // Only the first job should be cancelled. | 1053 // Only the first job should be cancelled. |
| 1064 base::RunLoop().RunUntilIdle(); | 1054 base::RunLoop().RunUntilIdle(); |
| 1065 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); | 1055 EXPECT_EQ(google_apis::GDATA_CANCELLED, error1); |
| 1066 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); | 1056 EXPECT_EQ(google_apis::HTTP_SUCCESS, error2); |
| 1067 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); | 1057 EXPECT_TRUE(scheduler_->GetJobInfoList().empty()); |
| 1068 } | 1058 } |
| 1069 | 1059 |
| 1070 } // namespace drive | 1060 } // namespace drive |
| OLD | NEW |