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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc

Issue 442383002: Move storage-related files from webkit/ to new top-level directory storage/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 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 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/sync_file_system/drive_backend/conflict_resolver.h" 5 #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 21 matching lines...) Expand all
32 #include "google_apis/drive/gdata_errorcode.h" 32 #include "google_apis/drive/gdata_errorcode.h"
33 #include "testing/gtest/include/gtest/gtest.h" 33 #include "testing/gtest/include/gtest/gtest.h"
34 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h" 34 #include "third_party/leveldatabase/src/helpers/memenv/memenv.h"
35 #include "third_party/leveldatabase/src/include/leveldb/env.h" 35 #include "third_party/leveldatabase/src/include/leveldb/env.h"
36 36
37 namespace sync_file_system { 37 namespace sync_file_system {
38 namespace drive_backend { 38 namespace drive_backend {
39 39
40 namespace { 40 namespace {
41 41
42 fileapi::FileSystemURL URL(const GURL& origin, 42 storage::FileSystemURL URL(const GURL& origin, const std::string& path) {
43 const std::string& path) {
44 return CreateSyncableFileSystemURL( 43 return CreateSyncableFileSystemURL(
45 origin, base::FilePath::FromUTF8Unsafe(path)); 44 origin, base::FilePath::FromUTF8Unsafe(path));
46 } 45 }
47 46
48 } // namespace 47 } // namespace
49 48
50 class ConflictResolverTest : public testing::Test { 49 class ConflictResolverTest : public testing::Test {
51 public: 50 public:
52 typedef FakeRemoteChangeProcessor::URLToFileChangesMap URLToFileChangesMap; 51 typedef FakeRemoteChangeProcessor::URLToFileChangesMap URLToFileChangesMap;
53 52
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 std::string CreateRemoteFile(const std::string& parent_folder_id, 147 std::string CreateRemoteFile(const std::string& parent_folder_id,
149 const std::string& title, 148 const std::string& title,
150 const std::string& content) { 149 const std::string& content) {
151 std::string file_id; 150 std::string file_id;
152 EXPECT_EQ(google_apis::HTTP_SUCCESS, 151 EXPECT_EQ(google_apis::HTTP_SUCCESS,
153 fake_drive_helper_->AddFile( 152 fake_drive_helper_->AddFile(
154 parent_folder_id, title, content, &file_id)); 153 parent_folder_id, title, content, &file_id));
155 return file_id; 154 return file_id;
156 } 155 }
157 156
158 void CreateLocalFile(const fileapi::FileSystemURL& url) { 157 void CreateLocalFile(const storage::FileSystemURL& url) {
159 remote_change_processor_->UpdateLocalFileMetadata( 158 remote_change_processor_->UpdateLocalFileMetadata(
160 url, FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, 159 url, FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE,
161 SYNC_FILE_TYPE_FILE)); 160 SYNC_FILE_TYPE_FILE));
162 } 161 }
163 162
164 google_apis::GDataErrorCode AddFileToFolder( 163 google_apis::GDataErrorCode AddFileToFolder(
165 const std::string& parent_folder_id, 164 const std::string& parent_folder_id,
166 const std::string& file_id) { 165 const std::string& file_id) {
167 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; 166 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
168 context_->GetDriveService()->AddResourceToDirectory( 167 context_->GetDriveService()->AddResourceToDirectory(
(...skipping 13 matching lines...) Expand all
182 SyncStatusCode RunRemoteToLocalSyncer() { 181 SyncStatusCode RunRemoteToLocalSyncer() {
183 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 182 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
184 scoped_ptr<RemoteToLocalSyncer> syncer( 183 scoped_ptr<RemoteToLocalSyncer> syncer(
185 new RemoteToLocalSyncer(context_.get())); 184 new RemoteToLocalSyncer(context_.get()));
186 syncer->RunPreflight(SyncTaskToken::CreateForTesting( 185 syncer->RunPreflight(SyncTaskToken::CreateForTesting(
187 CreateResultReceiver(&status))); 186 CreateResultReceiver(&status)));
188 base::RunLoop().RunUntilIdle(); 187 base::RunLoop().RunUntilIdle();
189 return status; 188 return status;
190 } 189 }
191 190
192 SyncStatusCode RunLocalToRemoteSyncer( 191 SyncStatusCode RunLocalToRemoteSyncer(const storage::FileSystemURL& url,
193 const fileapi::FileSystemURL& url, 192 const FileChange& file_change) {
194 const FileChange& file_change) {
195 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 193 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
196 base::FilePath local_path = base::FilePath(FILE_PATH_LITERAL("dummy")); 194 base::FilePath local_path = base::FilePath(FILE_PATH_LITERAL("dummy"));
197 if (file_change.IsAddOrUpdate()) 195 if (file_change.IsAddOrUpdate())
198 CreateTemporaryFileInDir(database_dir_.path(), &local_path); 196 CreateTemporaryFileInDir(database_dir_.path(), &local_path);
199 scoped_ptr<LocalToRemoteSyncer> syncer(new LocalToRemoteSyncer( 197 scoped_ptr<LocalToRemoteSyncer> syncer(new LocalToRemoteSyncer(
200 context_.get(), 198 context_.get(),
201 SyncFileMetadata(file_change.file_type(), 0, base::Time()), 199 SyncFileMetadata(file_change.file_type(), 0, base::Time()),
202 file_change, local_path, url)); 200 file_change, local_path, url));
203 syncer->RunPreflight(SyncTaskToken::CreateForTesting( 201 syncer->RunPreflight(SyncTaskToken::CreateForTesting(
204 CreateResultReceiver(&status))); 202 CreateResultReceiver(&status)));
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 375
378 TEST_F(ConflictResolverTest, ResolveConflict_RemoteFolderOnLocalFile) { 376 TEST_F(ConflictResolverTest, ResolveConflict_RemoteFolderOnLocalFile) {
379 const GURL kOrigin("chrome-extension://example"); 377 const GURL kOrigin("chrome-extension://example");
380 const std::string sync_root = CreateSyncRoot(); 378 const std::string sync_root = CreateSyncRoot();
381 const std::string app_root = CreateRemoteFolder(sync_root, kOrigin.host()); 379 const std::string app_root = CreateRemoteFolder(sync_root, kOrigin.host());
382 InitializeMetadataDatabase(); 380 InitializeMetadataDatabase();
383 RegisterApp(kOrigin.host(), app_root); 381 RegisterApp(kOrigin.host(), app_root);
384 RunRemoteToLocalSyncerUntilIdle(); 382 RunRemoteToLocalSyncerUntilIdle();
385 383
386 const std::string kTitle = "foo"; 384 const std::string kTitle = "foo";
387 fileapi::FileSystemURL kURL = URL(kOrigin, kTitle); 385 storage::FileSystemURL kURL = URL(kOrigin, kTitle);
388 386
389 // Create a file on local and sync it. 387 // Create a file on local and sync it.
390 CreateLocalFile(kURL); 388 CreateLocalFile(kURL);
391 RunLocalToRemoteSyncer( 389 RunLocalToRemoteSyncer(
392 kURL, 390 kURL,
393 FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, SYNC_FILE_TYPE_FILE)); 391 FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, SYNC_FILE_TYPE_FILE));
394 392
395 // Create a folder on remote and sync it. 393 // Create a folder on remote and sync it.
396 const std::string primary = CreateRemoteFolder(app_root, kTitle); 394 const std::string primary = CreateRemoteFolder(app_root, kTitle);
397 EXPECT_EQ(SYNC_STATUS_OK, ListChanges()); 395 EXPECT_EQ(SYNC_STATUS_OK, ListChanges());
(...skipping 26 matching lines...) Expand all
424 422
425 TEST_F(ConflictResolverTest, ResolveConflict_RemoteNestedFolderOnLocalFile) { 423 TEST_F(ConflictResolverTest, ResolveConflict_RemoteNestedFolderOnLocalFile) {
426 const GURL kOrigin("chrome-extension://example"); 424 const GURL kOrigin("chrome-extension://example");
427 const std::string sync_root = CreateSyncRoot(); 425 const std::string sync_root = CreateSyncRoot();
428 const std::string app_root = CreateRemoteFolder(sync_root, kOrigin.host()); 426 const std::string app_root = CreateRemoteFolder(sync_root, kOrigin.host());
429 InitializeMetadataDatabase(); 427 InitializeMetadataDatabase();
430 RegisterApp(kOrigin.host(), app_root); 428 RegisterApp(kOrigin.host(), app_root);
431 RunRemoteToLocalSyncerUntilIdle(); 429 RunRemoteToLocalSyncerUntilIdle();
432 430
433 const std::string kTitle = "foo"; 431 const std::string kTitle = "foo";
434 fileapi::FileSystemURL kURL = URL(kOrigin, kTitle); 432 storage::FileSystemURL kURL = URL(kOrigin, kTitle);
435 433
436 // Create a file on local and sync it. 434 // Create a file on local and sync it.
437 CreateLocalFile(kURL); 435 CreateLocalFile(kURL);
438 RunLocalToRemoteSyncer( 436 RunLocalToRemoteSyncer(
439 kURL, 437 kURL,
440 FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, SYNC_FILE_TYPE_FILE)); 438 FileChange(FileChange::FILE_CHANGE_ADD_OR_UPDATE, SYNC_FILE_TYPE_FILE));
441 439
442 // Create a folder and subfolder in it on remote, and sync it. 440 // Create a folder and subfolder in it on remote, and sync it.
443 const std::string primary = CreateRemoteFolder(app_root, kTitle); 441 const std::string primary = CreateRemoteFolder(app_root, kTitle);
444 CreateRemoteFolder(primary, "nested"); 442 CreateRemoteFolder(primary, "nested");
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 520
523 EXPECT_EQ(4, CountParents(file)); 521 EXPECT_EQ(4, CountParents(file));
524 522
525 EXPECT_EQ(SYNC_STATUS_OK, RunConflictResolver()); 523 EXPECT_EQ(SYNC_STATUS_OK, RunConflictResolver());
526 524
527 EXPECT_EQ(1, CountParents(file)); 525 EXPECT_EQ(1, CountParents(file));
528 } 526 }
529 527
530 } // namespace drive_backend 528 } // namespace drive_backend
531 } // namespace sync_file_system 529 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698