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 |