| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/file_system/operation_test_base.h" | 5 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h" |
| 6 | 6 |
| 7 #include "base/prefs/testing_pref_service.h" | 7 #include "base/prefs/testing_pref_service.h" |
| 8 #include "base/threading/sequenced_worker_pool.h" | 8 #include "base/threading/sequenced_worker_pool.h" |
| 9 #include "chrome/browser/chromeos/drive/change_list_loader.h" | 9 #include "chrome/browser/chromeos/drive/change_list_loader.h" |
| 10 #include "chrome/browser/chromeos/drive/fake_free_disk_space_getter.h" | 10 #include "chrome/browser/chromeos/drive/fake_free_disk_space_getter.h" |
| 11 #include "chrome/browser/chromeos/drive/file_cache.h" | 11 #include "chrome/browser/chromeos/drive/file_cache.h" |
| 12 #include "chrome/browser/chromeos/drive/file_change.h" | 12 #include "chrome/browser/chromeos/drive/file_change.h" |
| 13 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h" | 13 #include "chrome/browser/chromeos/drive/file_system/operation_observer.h" |
| 14 #include "chrome/browser/chromeos/drive/job_scheduler.h" | 14 #include "chrome/browser/chromeos/drive/job_scheduler.h" |
| 15 #include "chrome/browser/chromeos/drive/resource_metadata.h" | 15 #include "chrome/browser/chromeos/drive/resource_metadata.h" |
| 16 #include "chrome/browser/chromeos/drive/test_util.h" | |
| 17 #include "chrome/browser/drive/event_logger.h" | 16 #include "chrome/browser/drive/event_logger.h" |
| 18 #include "chrome/browser/drive/fake_drive_service.h" | 17 #include "chrome/browser/drive/fake_drive_service.h" |
| 19 #include "chrome/browser/drive/test_util.h" | 18 #include "chrome/browser/drive/test_util.h" |
| 20 #include "content/public/browser/browser_thread.h" | 19 #include "content/public/browser/browser_thread.h" |
| 20 #include "content/public/test/test_utils.h" |
| 21 #include "google_apis/drive/test_util.h" | 21 #include "google_apis/drive/test_util.h" |
| 22 | 22 |
| 23 namespace drive { | 23 namespace drive { |
| 24 namespace file_system { | 24 namespace file_system { |
| 25 | 25 |
| 26 OperationTestBase::LoggingObserver::LoggingObserver() { | 26 OperationTestBase::LoggingObserver::LoggingObserver() { |
| 27 } | 27 } |
| 28 | 28 |
| 29 OperationTestBase::LoggingObserver::~LoggingObserver() { | 29 OperationTestBase::LoggingObserver::~LoggingObserver() { |
| 30 } | 30 } |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 | 78 |
| 79 metadata_storage_.reset(new internal::ResourceMetadataStorage( | 79 metadata_storage_.reset(new internal::ResourceMetadataStorage( |
| 80 temp_dir_.path(), blocking_task_runner_.get())); | 80 temp_dir_.path(), blocking_task_runner_.get())); |
| 81 bool success = false; | 81 bool success = false; |
| 82 base::PostTaskAndReplyWithResult( | 82 base::PostTaskAndReplyWithResult( |
| 83 blocking_task_runner_.get(), | 83 blocking_task_runner_.get(), |
| 84 FROM_HERE, | 84 FROM_HERE, |
| 85 base::Bind(&internal::ResourceMetadataStorage::Initialize, | 85 base::Bind(&internal::ResourceMetadataStorage::Initialize, |
| 86 base::Unretained(metadata_storage_.get())), | 86 base::Unretained(metadata_storage_.get())), |
| 87 google_apis::test_util::CreateCopyResultCallback(&success)); | 87 google_apis::test_util::CreateCopyResultCallback(&success)); |
| 88 test_util::RunBlockingPoolTask(); | 88 content::RunAllBlockingPoolTasksUntilIdle(); |
| 89 ASSERT_TRUE(success); | 89 ASSERT_TRUE(success); |
| 90 | 90 |
| 91 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); | 91 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); |
| 92 cache_.reset(new internal::FileCache(metadata_storage_.get(), | 92 cache_.reset(new internal::FileCache(metadata_storage_.get(), |
| 93 temp_dir_.path(), | 93 temp_dir_.path(), |
| 94 blocking_task_runner_.get(), | 94 blocking_task_runner_.get(), |
| 95 fake_free_disk_space_getter_.get())); | 95 fake_free_disk_space_getter_.get())); |
| 96 success = false; | 96 success = false; |
| 97 base::PostTaskAndReplyWithResult( | 97 base::PostTaskAndReplyWithResult( |
| 98 blocking_task_runner_.get(), | 98 blocking_task_runner_.get(), |
| 99 FROM_HERE, | 99 FROM_HERE, |
| 100 base::Bind(&internal::FileCache::Initialize, | 100 base::Bind(&internal::FileCache::Initialize, |
| 101 base::Unretained(cache_.get())), | 101 base::Unretained(cache_.get())), |
| 102 google_apis::test_util::CreateCopyResultCallback(&success)); | 102 google_apis::test_util::CreateCopyResultCallback(&success)); |
| 103 test_util::RunBlockingPoolTask(); | 103 content::RunAllBlockingPoolTasksUntilIdle(); |
| 104 ASSERT_TRUE(success); | 104 ASSERT_TRUE(success); |
| 105 | 105 |
| 106 metadata_.reset(new internal::ResourceMetadata(metadata_storage_.get(), | 106 metadata_.reset(new internal::ResourceMetadata(metadata_storage_.get(), |
| 107 cache_.get(), | 107 cache_.get(), |
| 108 blocking_task_runner_)); | 108 blocking_task_runner_)); |
| 109 | 109 |
| 110 FileError error = FILE_ERROR_FAILED; | 110 FileError error = FILE_ERROR_FAILED; |
| 111 base::PostTaskAndReplyWithResult( | 111 base::PostTaskAndReplyWithResult( |
| 112 blocking_task_runner_.get(), | 112 blocking_task_runner_.get(), |
| 113 FROM_HERE, | 113 FROM_HERE, |
| 114 base::Bind(&internal::ResourceMetadata::Initialize, | 114 base::Bind(&internal::ResourceMetadata::Initialize, |
| 115 base::Unretained(metadata_.get())), | 115 base::Unretained(metadata_.get())), |
| 116 google_apis::test_util::CreateCopyResultCallback(&error)); | 116 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 117 test_util::RunBlockingPoolTask(); | 117 content::RunAllBlockingPoolTasksUntilIdle(); |
| 118 ASSERT_EQ(FILE_ERROR_OK, error); | 118 ASSERT_EQ(FILE_ERROR_OK, error); |
| 119 | 119 |
| 120 // Makes sure the FakeDriveService's content is loaded to the metadata_. | 120 // Makes sure the FakeDriveService's content is loaded to the metadata_. |
| 121 about_resource_loader_.reset(new internal::AboutResourceLoader( | 121 about_resource_loader_.reset(new internal::AboutResourceLoader( |
| 122 scheduler_.get())); | 122 scheduler_.get())); |
| 123 loader_controller_.reset(new internal::LoaderController); | 123 loader_controller_.reset(new internal::LoaderController); |
| 124 change_list_loader_.reset(new internal::ChangeListLoader( | 124 change_list_loader_.reset(new internal::ChangeListLoader( |
| 125 logger_.get(), | 125 logger_.get(), |
| 126 blocking_task_runner_.get(), | 126 blocking_task_runner_.get(), |
| 127 metadata_.get(), | 127 metadata_.get(), |
| 128 scheduler_.get(), | 128 scheduler_.get(), |
| 129 about_resource_loader_.get(), | 129 about_resource_loader_.get(), |
| 130 loader_controller_.get())); | 130 loader_controller_.get())); |
| 131 change_list_loader_->LoadIfNeeded( | 131 change_list_loader_->LoadIfNeeded( |
| 132 google_apis::test_util::CreateCopyResultCallback(&error)); | 132 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 133 test_util::RunBlockingPoolTask(); | 133 content::RunAllBlockingPoolTasksUntilIdle(); |
| 134 ASSERT_EQ(FILE_ERROR_OK, error); | 134 ASSERT_EQ(FILE_ERROR_OK, error); |
| 135 } | 135 } |
| 136 | 136 |
| 137 FileError OperationTestBase::GetLocalResourceEntry(const base::FilePath& path, | 137 FileError OperationTestBase::GetLocalResourceEntry(const base::FilePath& path, |
| 138 ResourceEntry* entry) { | 138 ResourceEntry* entry) { |
| 139 FileError error = FILE_ERROR_FAILED; | 139 FileError error = FILE_ERROR_FAILED; |
| 140 base::PostTaskAndReplyWithResult( | 140 base::PostTaskAndReplyWithResult( |
| 141 blocking_task_runner(), | 141 blocking_task_runner(), |
| 142 FROM_HERE, | 142 FROM_HERE, |
| 143 base::Bind(&internal::ResourceMetadata::GetResourceEntryByPath, | 143 base::Bind(&internal::ResourceMetadata::GetResourceEntryByPath, |
| 144 base::Unretained(metadata()), path, entry), | 144 base::Unretained(metadata()), path, entry), |
| 145 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); | 145 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); |
| 146 test_util::RunBlockingPoolTask(); | 146 content::RunAllBlockingPoolTasksUntilIdle(); |
| 147 return error; | 147 return error; |
| 148 } | 148 } |
| 149 | 149 |
| 150 FileError OperationTestBase::GetLocalResourceEntryById( | 150 FileError OperationTestBase::GetLocalResourceEntryById( |
| 151 const std::string& local_id, | 151 const std::string& local_id, |
| 152 ResourceEntry* entry) { | 152 ResourceEntry* entry) { |
| 153 FileError error = FILE_ERROR_FAILED; | 153 FileError error = FILE_ERROR_FAILED; |
| 154 base::PostTaskAndReplyWithResult( | 154 base::PostTaskAndReplyWithResult( |
| 155 blocking_task_runner(), | 155 blocking_task_runner(), |
| 156 FROM_HERE, | 156 FROM_HERE, |
| 157 base::Bind(&internal::ResourceMetadata::GetResourceEntryById, | 157 base::Bind(&internal::ResourceMetadata::GetResourceEntryById, |
| 158 base::Unretained(metadata()), local_id, entry), | 158 base::Unretained(metadata()), local_id, entry), |
| 159 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); | 159 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); |
| 160 test_util::RunBlockingPoolTask(); | 160 content::RunAllBlockingPoolTasksUntilIdle(); |
| 161 return error; | 161 return error; |
| 162 } | 162 } |
| 163 | 163 |
| 164 std::string OperationTestBase::GetLocalId(const base::FilePath& path) { | 164 std::string OperationTestBase::GetLocalId(const base::FilePath& path) { |
| 165 std::string local_id; | 165 std::string local_id; |
| 166 FileError error = FILE_ERROR_FAILED; | 166 FileError error = FILE_ERROR_FAILED; |
| 167 base::PostTaskAndReplyWithResult( | 167 base::PostTaskAndReplyWithResult( |
| 168 blocking_task_runner(), | 168 blocking_task_runner(), |
| 169 FROM_HERE, | 169 FROM_HERE, |
| 170 base::Bind(&internal::ResourceMetadata::GetIdByPath, | 170 base::Bind(&internal::ResourceMetadata::GetIdByPath, |
| 171 base::Unretained(metadata()), path, &local_id), | 171 base::Unretained(metadata()), path, &local_id), |
| 172 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); | 172 base::Bind(google_apis::test_util::CreateCopyResultCallback(&error))); |
| 173 test_util::RunBlockingPoolTask(); | 173 content::RunAllBlockingPoolTasksUntilIdle(); |
| 174 EXPECT_EQ(FILE_ERROR_OK, error) << path.value(); | 174 EXPECT_EQ(FILE_ERROR_OK, error) << path.value(); |
| 175 return local_id; | 175 return local_id; |
| 176 } | 176 } |
| 177 | 177 |
| 178 FileError OperationTestBase::CheckForUpdates() { | 178 FileError OperationTestBase::CheckForUpdates() { |
| 179 FileError error = FILE_ERROR_FAILED; | 179 FileError error = FILE_ERROR_FAILED; |
| 180 change_list_loader_->CheckForUpdates( | 180 change_list_loader_->CheckForUpdates( |
| 181 google_apis::test_util::CreateCopyResultCallback(&error)); | 181 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 182 test_util::RunBlockingPoolTask(); | 182 content::RunAllBlockingPoolTasksUntilIdle(); |
| 183 return error; | 183 return error; |
| 184 } | 184 } |
| 185 | 185 |
| 186 } // namespace file_system | 186 } // namespace file_system |
| 187 } // namespace drive | 187 } // namespace drive |
| OLD | NEW |