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 |