| 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/drive_scheduler.h" | 5 #include "chrome/browser/chromeos/drive/drive_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 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 656 profile_->GetPrefs()->SetBoolean(prefs::kDisableDriveOverCellular, true); | 656 profile_->GetPrefs()->SetBoolean(prefs::kDisableDriveOverCellular, true); |
| 657 | 657 |
| 658 base::ScopedTempDir temp_dir; | 658 base::ScopedTempDir temp_dir; |
| 659 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 659 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 660 | 660 |
| 661 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 661 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 662 scoped_ptr<google_apis::ResourceEntry> entry; | 662 scoped_ptr<google_apis::ResourceEntry> entry; |
| 663 scoped_ptr<google_apis::AccountMetadata> account_metadata; | 663 scoped_ptr<google_apis::AccountMetadata> account_metadata; |
| 664 base::FilePath path; | 664 base::FilePath path; |
| 665 | 665 |
| 666 std::set<DriveScheduler::JobType> expected_types; | 666 std::set<JobType> expected_types; |
| 667 | 667 |
| 668 // Add many jobs. | 668 // Add many jobs. |
| 669 expected_types.insert(DriveScheduler::TYPE_ADD_NEW_DIRECTORY); | 669 expected_types.insert(TYPE_ADD_NEW_DIRECTORY); |
| 670 scheduler_->AddNewDirectory( | 670 scheduler_->AddNewDirectory( |
| 671 fake_drive_service_->GetRootResourceId(), | 671 fake_drive_service_->GetRootResourceId(), |
| 672 "New Directory", | 672 "New Directory", |
| 673 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 673 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 674 expected_types.insert(DriveScheduler::TYPE_GET_ACCOUNT_METADATA); | 674 expected_types.insert(TYPE_GET_ACCOUNT_METADATA); |
| 675 scheduler_->GetAccountMetadata( | 675 scheduler_->GetAccountMetadata( |
| 676 google_apis::test_util::CreateCopyResultCallback( | 676 google_apis::test_util::CreateCopyResultCallback( |
| 677 &error, &account_metadata)); | 677 &error, &account_metadata)); |
| 678 expected_types.insert(DriveScheduler::TYPE_RENAME_RESOURCE); | 678 expected_types.insert(TYPE_RENAME_RESOURCE); |
| 679 scheduler_->RenameResource( | 679 scheduler_->RenameResource( |
| 680 "file:2_file_resource_id", | 680 "file:2_file_resource_id", |
| 681 "New Name", | 681 "New Name", |
| 682 google_apis::test_util::CreateCopyResultCallback(&error)); | 682 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 683 expected_types.insert(DriveScheduler::TYPE_DOWNLOAD_FILE); | 683 expected_types.insert(TYPE_DOWNLOAD_FILE); |
| 684 scheduler_->DownloadFile( | 684 scheduler_->DownloadFile( |
| 685 base::FilePath::FromUTF8Unsafe("/drive/whatever.txt"), // virtual path | 685 base::FilePath::FromUTF8Unsafe("/drive/whatever.txt"), // virtual path |
| 686 temp_dir.path().AppendASCII("whatever.txt"), | 686 temp_dir.path().AppendASCII("whatever.txt"), |
| 687 GURL("https://file_content_url/"), | 687 GURL("https://file_content_url/"), |
| 688 DriveClientContext(BACKGROUND), | 688 DriveClientContext(BACKGROUND), |
| 689 google_apis::test_util::CreateCopyResultCallback(&error, &path), | 689 google_apis::test_util::CreateCopyResultCallback(&error, &path), |
| 690 google_apis::GetContentCallback()); | 690 google_apis::GetContentCallback()); |
| 691 | 691 |
| 692 // The number of jobs queued so far. | 692 // The number of jobs queued so far. |
| 693 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); | 693 EXPECT_EQ(4U, scheduler_->GetJobInfoList().size()); |
| 694 | 694 |
| 695 // Add more jobs. | 695 // Add more jobs. |
| 696 expected_types.insert(DriveScheduler::TYPE_ADD_RESOURCE_TO_DIRECTORY); | 696 expected_types.insert(TYPE_ADD_RESOURCE_TO_DIRECTORY); |
| 697 scheduler_->AddResourceToDirectory( | 697 scheduler_->AddResourceToDirectory( |
| 698 "folder:1_folder_resource_id", | 698 "folder:1_folder_resource_id", |
| 699 "file:2_file_resource_id", | 699 "file:2_file_resource_id", |
| 700 google_apis::test_util::CreateCopyResultCallback(&error)); | 700 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 701 expected_types.insert(DriveScheduler::TYPE_COPY_HOSTED_DOCUMENT); | 701 expected_types.insert(TYPE_COPY_HOSTED_DOCUMENT); |
| 702 scheduler_->CopyHostedDocument( | 702 scheduler_->CopyHostedDocument( |
| 703 "document:5_document_resource_id", | 703 "document:5_document_resource_id", |
| 704 "New Document", | 704 "New Document", |
| 705 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); | 705 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 706 | 706 |
| 707 // 6 jobs in total were queued. | 707 // 6 jobs in total were queued. |
| 708 std::vector<DriveScheduler::JobInfo> jobs = scheduler_->GetJobInfoList(); | 708 std::vector<JobInfo> jobs = scheduler_->GetJobInfoList(); |
| 709 EXPECT_EQ(6U, jobs.size()); | 709 EXPECT_EQ(6U, jobs.size()); |
| 710 std::set<DriveScheduler::JobType> actual_types; | 710 std::set<JobType> actual_types; |
| 711 for (size_t i = 0; i < jobs.size(); ++i) | 711 for (size_t i = 0; i < jobs.size(); ++i) |
| 712 actual_types.insert(jobs[i].job_type); | 712 actual_types.insert(jobs[i].job_type); |
| 713 EXPECT_EQ(expected_types, actual_types); | 713 EXPECT_EQ(expected_types, actual_types); |
| 714 | 714 |
| 715 // Run the jobs. | 715 // Run the jobs. |
| 716 google_apis::test_util::RunBlockingPoolTask(); | 716 google_apis::test_util::RunBlockingPoolTask(); |
| 717 | 717 |
| 718 // All jobs except the BACKGROUND job should have finished. | 718 // All jobs except the BACKGROUND job should have finished. |
| 719 jobs = scheduler_->GetJobInfoList(); | 719 jobs = scheduler_->GetJobInfoList(); |
| 720 ASSERT_EQ(1U, jobs.size()); | 720 ASSERT_EQ(1U, jobs.size()); |
| 721 EXPECT_EQ(DriveScheduler::TYPE_DOWNLOAD_FILE, jobs[0].job_type); | 721 EXPECT_EQ(TYPE_DOWNLOAD_FILE, jobs[0].job_type); |
| 722 | 722 |
| 723 // Run the background downloading job as well. | 723 // Run the background downloading job as well. |
| 724 ConnectToWifi(); | 724 ConnectToWifi(); |
| 725 google_apis::test_util::RunBlockingPoolTask(); | 725 google_apis::test_util::RunBlockingPoolTask(); |
| 726 | 726 |
| 727 // All jobs should have finished. | 727 // All jobs should have finished. |
| 728 EXPECT_EQ(0U, scheduler_->GetJobInfoList().size()); | 728 EXPECT_EQ(0U, scheduler_->GetJobInfoList().size()); |
| 729 } | 729 } |
| 730 | 730 |
| 731 } // namespace drive | 731 } // namespace drive |
| OLD | NEW |