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

Side by Side Diff: chrome/browser/sync_file_system/drive_metadata_store_unittest.cc

Issue 15808002: SyncFS: Convert WAPI ResourceID to DriveAPI FileID (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix more 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/sync_file_system/drive_metadata_store.h" 5 #include "chrome/browser/sync_file_system/drive_metadata_store.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/single_thread_task_runner.h" 12 #include "base/single_thread_task_runner.h"
13 #include "base/stl_util.h" 13 #include "base/stl_util.h"
14 #include "base/string_util.h" 14 #include "base/string_util.h"
15 #include "base/strings/string_number_conversions.h"
15 #include "base/threading/thread.h" 16 #include "base/threading/thread.h"
17 #include "chrome/browser/sync_file_system/drive/metadata_db_migration_util.h"
16 #include "chrome/browser/sync_file_system/drive_file_sync_service.h" 18 #include "chrome/browser/sync_file_system/drive_file_sync_service.h"
17 #include "chrome/browser/sync_file_system/sync_file_system.pb.h" 19 #include "chrome/browser/sync_file_system/sync_file_system.pb.h"
18 #include "content/public/browser/browser_thread.h" 20 #include "content/public/browser/browser_thread.h"
19 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
20 #include "third_party/leveldatabase/src/include/leveldb/db.h" 22 #include "third_party/leveldatabase/src/include/leveldb/db.h"
23 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h"
21 #include "webkit/browser/fileapi/isolated_context.h" 24 #include "webkit/browser/fileapi/isolated_context.h"
22 #include "webkit/fileapi/syncable/syncable_file_system_util.h" 25 #include "webkit/fileapi/syncable/syncable_file_system_util.h"
23 26
24 #define FPL FILE_PATH_LITERAL 27 #define FPL FILE_PATH_LITERAL
25 28
26 using content::BrowserThread; 29 using content::BrowserThread;
27 30
28 namespace sync_file_system { 31 namespace sync_file_system {
29 32
30 namespace { 33 namespace {
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 326 }
324 327
325 TEST_F(DriveMetadataStoreTest, ReadWriteTest) { 328 TEST_F(DriveMetadataStoreTest, ReadWriteTest) {
326 InitializeDatabase(); 329 InitializeDatabase();
327 330
328 const fileapi::FileSystemURL url = URL(base::FilePath()); 331 const fileapi::FileSystemURL url = URL(base::FilePath());
329 DriveMetadata metadata; 332 DriveMetadata metadata;
330 EXPECT_EQ(SYNC_DATABASE_ERROR_NOT_FOUND, 333 EXPECT_EQ(SYNC_DATABASE_ERROR_NOT_FOUND,
331 metadata_store()->ReadEntry(url, &metadata)); 334 metadata_store()->ReadEntry(url, &metadata));
332 335
333 metadata = CreateMetadata("1234567890", "09876543210", true, false); 336 metadata = CreateMetadata("file:1234567890", "09876543210", true, false);
334 EXPECT_EQ(SYNC_STATUS_OK, UpdateEntry(url, metadata)); 337 EXPECT_EQ(SYNC_STATUS_OK, UpdateEntry(url, metadata));
335 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 338 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
336 339
337 DropDatabase(); 340 DropDatabase();
338 InitializeDatabase(); 341 InitializeDatabase();
339 342
340 EXPECT_EQ(1, metadata_store()->GetLargestChangeStamp()); 343 EXPECT_EQ(1, metadata_store()->GetLargestChangeStamp());
341 344
342 DriveMetadata metadata2; 345 DriveMetadata metadata2;
343 EXPECT_EQ(SYNC_STATUS_OK, 346 EXPECT_EQ(SYNC_STATUS_OK,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 EXPECT_EQ(SYNC_STATUS_OK, 409 EXPECT_EQ(SYNC_STATUS_OK,
407 metadata_store()->GetToBeFetchedFiles(&list)); 410 metadata_store()->GetToBeFetchedFiles(&list));
408 EXPECT_EQ(2U, list.size()); 411 EXPECT_EQ(2U, list.size());
409 EXPECT_EQ(list[0].first, URL(path2)); 412 EXPECT_EQ(list[0].first, URL(path2));
410 EXPECT_EQ(list[1].first, URL(path3)); 413 EXPECT_EQ(list[1].first, URL(path3));
411 414
412 VerifyReverseMap(); 415 VerifyReverseMap();
413 } 416 }
414 417
415 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) { 418 TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) {
416 const std::string kResourceId("hoge"); 419 const std::string kResourceId("folder:hoge");
417 420
418 InitializeDatabase(); 421 InitializeDatabase();
419 422
420 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); 423 EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
421 424
422 metadata_store()->SetSyncRootDirectory(kResourceId); 425 metadata_store()->SetSyncRootDirectory(kResourceId);
423 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory()); 426 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
424 427
425 DropSyncRootDirectoryInStore(); 428 DropSyncRootDirectoryInStore();
426 EXPECT_TRUE(metadata_store()->sync_root_directory().empty()); 429 EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
427 430
428 RestoreSyncRootDirectoryFromDB(); 431 RestoreSyncRootDirectoryFromDB();
429 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory()); 432 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
430 433
431 VerifyReverseMap(); 434 VerifyReverseMap();
432 } 435 }
433 436
434 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { 437 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) {
435 const GURL kOrigin1("chrome-extension://example1"); 438 const GURL kOrigin1("chrome-extension://example1");
436 const GURL kOrigin2("chrome-extension://example2"); 439 const GURL kOrigin2("chrome-extension://example2");
437 const std::string kResourceId1("hoge"); 440 const std::string kResourceId1("folder:hoge");
438 const std::string kResourceId2("fuga"); 441 const std::string kResourceId2("folder:fuga");
439 442
440 InitializeDatabase(); 443 InitializeDatabase();
441 444
442 // Make sure origins have not been marked yet. 445 // Make sure origins have not been marked yet.
443 VerifyUntrackedOrigin(kOrigin1); 446 VerifyUntrackedOrigin(kOrigin1);
444 VerifyUntrackedOrigin(kOrigin2); 447 VerifyUntrackedOrigin(kOrigin2);
445 448
446 // Mark origins as incremental sync origins. 449 // Mark origins as incremental sync origins.
447 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1); 450 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
448 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2); 451 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
538 metadata_map().find(kOrigin1); 541 metadata_map().find(kOrigin1);
539 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u); 542 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u);
540 543
541 VerifyReverseMap(); 544 VerifyReverseMap();
542 } 545 }
543 546
544 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { 547 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) {
545 const GURL kOrigin1("chrome-extension://example1"); 548 const GURL kOrigin1("chrome-extension://example1");
546 const GURL kOrigin2("chrome-extension://example2"); 549 const GURL kOrigin2("chrome-extension://example2");
547 const GURL kOrigin3("chrome-extension://example3"); 550 const GURL kOrigin3("chrome-extension://example3");
548 const std::string kResourceId1("hogera"); 551 const std::string kResourceId1("folder:hogera");
549 const std::string kResourceId2("fugaga"); 552 const std::string kResourceId2("folder:fugaga");
550 const std::string kResourceId3("piyopiyo"); 553 const std::string kResourceId3("folder:piyopiyo");
551 554
552 InitializeDatabase(); 555 InitializeDatabase();
553 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 556 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
554 metadata_store()->SetSyncRootDirectory("root"); 557 metadata_store()->SetSyncRootDirectory("root");
555 558
556 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1); 559 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
557 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2); 560 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2);
558 metadata_store()->AddIncrementalSyncOrigin(kOrigin3, kResourceId3); 561 metadata_store()->AddIncrementalSyncOrigin(kOrigin3, kResourceId3);
559 DisableOrigin(kOrigin3); 562 DisableOrigin(kOrigin3);
560 563
(...skipping 20 matching lines...) Expand all
581 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin1)); 584 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin1));
582 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin2)); 585 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin2));
583 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin3)); 586 EXPECT_TRUE(metadata_store()->IsKnownOrigin(kOrigin3));
584 587
585 VerifyReverseMap(); 588 VerifyReverseMap();
586 } 589 }
587 590
588 TEST_F(DriveMetadataStoreTest, MigrationFromV0) { 591 TEST_F(DriveMetadataStoreTest, MigrationFromV0) {
589 const GURL kOrigin1("chrome-extension://example1"); 592 const GURL kOrigin1("chrome-extension://example1");
590 const GURL kOrigin2("chrome-extension://example2"); 593 const GURL kOrigin2("chrome-extension://example2");
591 const std::string kSyncRootResourceId("sync_root_resource_id"); 594 const std::string kSyncRootResourceId("folder:sync_root_resource_id");
592 const std::string kResourceId1("hoge"); 595 const std::string kResourceId1("folder:hoge");
593 const std::string kResourceId2("fuga"); 596 const std::string kResourceId2("folder:fuga");
594 const std::string kFileResourceId("piyo"); 597 const std::string kFileResourceId("file:piyo");
595 const base::FilePath kFile(FPL("foo bar")); 598 const base::FilePath kFile(FPL("foo bar"));
596 const std::string kFileMD5("file_md5"); 599 const std::string kFileMD5("file_md5");
597 600
598 { 601 {
599 const char kChangeStampKey[] = "CHANGE_STAMP"; 602 const char kChangeStampKey[] = "CHANGE_STAMP";
600 const char kSyncRootDirectoryKey[] = "SYNC_ROOT_DIR"; 603 const char kSyncRootDirectoryKey[] = "SYNC_ROOT_DIR";
601 const char kDriveMetadataKeyPrefix[] = "METADATA: "; 604 const char kDriveMetadataKeyPrefix[] = "METADATA: ";
602 const char kDriveBatchSyncOriginKeyPrefix[] = "BSYNC_ORIGIN: "; 605 const char kDriveBatchSyncOriginKeyPrefix[] = "BSYNC_ORIGIN: ";
603 const char kDriveIncrementalSyncOriginKeyPrefix[] = "ISYNC_ORIGIN: "; 606 const char kDriveIncrementalSyncOriginKeyPrefix[] = "ISYNC_ORIGIN: ";
604 607
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1); 711 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
709 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1); 712 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
710 VerifyReverseMap(); 713 VerifyReverseMap();
711 714
712 metadata_store()->SetOriginRootDirectory(kOrigin1, kResourceId2); 715 metadata_store()->SetOriginRootDirectory(kOrigin1, kResourceId2);
713 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId2); 716 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId2);
714 VerifyReverseMap(); 717 VerifyReverseMap();
715 } 718 }
716 719
717 } // namespace sync_file_system 720 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698