Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(774)

Side by Side Diff: chrome/browser/chromeos/drive/file_system_unittest.cc

Issue 17004011: drive: DriveIntegrationService owns ResourceMetadataStorage (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 fake_free_disk_space_getter_.get())); 92 fake_free_disk_space_getter_.get()));
93 93
94 mock_directory_observer_.reset(new StrictMock<MockDirectoryChangeObserver>); 94 mock_directory_observer_.reset(new StrictMock<MockDirectoryChangeObserver>);
95 95
96 ASSERT_TRUE(cache_->Initialize()); 96 ASSERT_TRUE(cache_->Initialize());
97 97
98 SetUpResourceMetadataAndFileSystem(); 98 SetUpResourceMetadataAndFileSystem();
99 } 99 }
100 100
101 void SetUpResourceMetadataAndFileSystem() { 101 void SetUpResourceMetadataAndFileSystem() {
102 resource_metadata_.reset(new internal::ResourceMetadata( 102 metadata_storage_.reset(new internal::ResourceMetadataStorage(
103 util::GetCacheRootPath(profile_.get()).Append(util::kMetadataDirectory), 103 util::GetCacheRootPath(profile_.get()).Append(util::kMetadataDirectory),
104 base::MessageLoopProxy::current())); 104 base::MessageLoopProxy::current()));
105 ASSERT_TRUE(metadata_storage_->Initialize());
106
107 resource_metadata_.reset(new internal::ResourceMetadata(
108 metadata_storage_.get(), base::MessageLoopProxy::current()));
105 109
106 file_system_.reset(new FileSystem( 110 file_system_.reset(new FileSystem(
107 profile_.get(), 111 profile_.get(),
108 cache_.get(), 112 cache_.get(),
109 fake_drive_service_.get(), 113 fake_drive_service_.get(),
110 scheduler_.get(), 114 scheduler_.get(),
111 resource_metadata_.get(), 115 resource_metadata_.get(),
112 base::MessageLoopProxy::current(), 116 base::MessageLoopProxy::current(),
113 util::GetCacheRootPath(profile_.get()).Append( 117 util::GetCacheRootPath(profile_.get()).Append(
114 util::kTemporaryFileDirectory))); 118 util::kTemporaryFileDirectory)));
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 196
193 // Sets up a filesystem with directories: drive/root, drive/root/Dir1, 197 // Sets up a filesystem with directories: drive/root, drive/root/Dir1,
194 // drive/root/Dir1/SubDir2 and files drive/root/File1, drive/root/Dir1/File2, 198 // drive/root/Dir1/SubDir2 and files drive/root/File1, drive/root/Dir1/File2,
195 // drive/root/Dir1/SubDir2/File3. If |use_up_to_date_timestamp| is true, sets 199 // drive/root/Dir1/SubDir2/File3. If |use_up_to_date_timestamp| is true, sets
196 // the changestamp to 654321, equal to that of "account_metadata.json" test 200 // the changestamp to 654321, equal to that of "account_metadata.json" test
197 // data, indicating the cache is holding the latest file system info. 201 // data, indicating the cache is holding the latest file system info.
198 bool SetUpTestFileSystem(SetUpTestFileSystemParam param) { 202 bool SetUpTestFileSystem(SetUpTestFileSystemParam param) {
199 // Destroy the existing resource metadata to close DB. 203 // Destroy the existing resource metadata to close DB.
200 resource_metadata_.reset(); 204 resource_metadata_.reset();
201 205
202 const std::string root_resource_id = 206 base::FilePath metadata_directory =
203 fake_drive_service_->GetRootResourceId(); 207 util::GetCacheRootPath(profile_.get()).Append(util::kMetadataDirectory);
208 scoped_ptr<internal::ResourceMetadataStorage,
209 test_util::DestroyHelperForTests> metadata_storage(
210 new internal::ResourceMetadataStorage(
211 metadata_directory, base::MessageLoopProxy::current()));
212
204 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests> 213 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests>
205 resource_metadata(new internal::ResourceMetadata( 214 resource_metadata(new internal::ResourceMetadata(
206 util::GetCacheRootPath(profile_.get()).Append( 215 metadata_storage_.get(), base::MessageLoopProxy::current()));
207 util::kMetadataDirectory),
208 base::MessageLoopProxy::current()));
209 216
210 if (resource_metadata->Initialize() != FILE_ERROR_OK) 217 if (resource_metadata->Initialize() != FILE_ERROR_OK)
211 return false; 218 return false;
212 219
213 const int64 changestamp = param == USE_SERVER_TIMESTAMP ? 654321 : 1; 220 const int64 changestamp = param == USE_SERVER_TIMESTAMP ? 654321 : 1;
214 if (resource_metadata->SetLargestChangestamp(changestamp) != FILE_ERROR_OK) 221 if (resource_metadata->SetLargestChangestamp(changestamp) != FILE_ERROR_OK)
215 return false; 222 return false;
216 223
217 // drive/root 224 // drive/root
225 const std::string root_resource_id =
226 fake_drive_service_->GetRootResourceId();
218 if (resource_metadata->AddEntry(util::CreateMyDriveRootEntry( 227 if (resource_metadata->AddEntry(util::CreateMyDriveRootEntry(
219 root_resource_id)) != FILE_ERROR_OK) 228 root_resource_id)) != FILE_ERROR_OK)
220 return false; 229 return false;
221 230
222 // drive/root/File1 231 // drive/root/File1
223 ResourceEntry file1; 232 ResourceEntry file1;
224 file1.set_title("File1"); 233 file1.set_title("File1");
225 file1.set_resource_id("resource_id:File1"); 234 file1.set_resource_id("resource_id:File1");
226 file1.set_parent_resource_id(root_resource_id); 235 file1.set_parent_resource_id(root_resource_id);
227 file1.mutable_file_specific_info()->set_md5("md5"); 236 file1.mutable_file_specific_info()->set_md5("md5");
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 281
273 // Recreate resource metadata. 282 // Recreate resource metadata.
274 SetUpResourceMetadataAndFileSystem(); 283 SetUpResourceMetadataAndFileSystem();
275 284
276 return true; 285 return true;
277 } 286 }
278 287
279 content::TestBrowserThreadBundle thread_bundle_; 288 content::TestBrowserThreadBundle thread_bundle_;
280 scoped_ptr<TestingProfile> profile_; 289 scoped_ptr<TestingProfile> profile_;
281 290
291 scoped_ptr<internal::ResourceMetadataStorage,
292 test_util::DestroyHelperForTests> metadata_storage_;
282 scoped_ptr<internal::FileCache, test_util::DestroyHelperForTests> cache_; 293 scoped_ptr<internal::FileCache, test_util::DestroyHelperForTests> cache_;
283 scoped_ptr<FileSystem> file_system_; 294 scoped_ptr<FileSystem> file_system_;
284 scoped_ptr<FakeDriveService> fake_drive_service_; 295 scoped_ptr<FakeDriveService> fake_drive_service_;
285 scoped_ptr<JobScheduler> scheduler_; 296 scoped_ptr<JobScheduler> scheduler_;
286 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests> 297 scoped_ptr<internal::ResourceMetadata, test_util::DestroyHelperForTests>
287 resource_metadata_; 298 resource_metadata_;
288 scoped_ptr<FakeFreeDiskSpaceGetter> fake_free_disk_space_getter_; 299 scoped_ptr<FakeFreeDiskSpaceGetter> fake_free_disk_space_getter_;
289 scoped_ptr<StrictMock<MockDirectoryChangeObserver> > mock_directory_observer_; 300 scoped_ptr<StrictMock<MockDirectoryChangeObserver> > mock_directory_observer_;
290 }; 301 };
291 302
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
826 file_path, 837 file_path,
827 google_apis::test_util::CreateCopyResultCallback(&error)); 838 google_apis::test_util::CreateCopyResultCallback(&error));
828 google_apis::test_util::RunBlockingPoolTask(); 839 google_apis::test_util::RunBlockingPoolTask();
829 EXPECT_EQ(FILE_ERROR_OK, error); 840 EXPECT_EQ(FILE_ERROR_OK, error);
830 841
831 // Now able to remove the cache entry. 842 // Now able to remove the cache entry.
832 EXPECT_EQ(FILE_ERROR_OK, cache_->Remove(entry->resource_id())); 843 EXPECT_EQ(FILE_ERROR_OK, cache_->Remove(entry->resource_id()));
833 } 844 }
834 845
835 } // namespace drive 846 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698