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

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

Issue 15023022: Add to be fetched files instead of DriveMetadataStore.batch_sync_origins_ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: tzik review, test revisions Created 7 years, 7 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
« no previous file with comments | « chrome/browser/sync_file_system/drive_metadata_store.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 void MarkAsCreated() { 214 void MarkAsCreated() {
215 created_ = true; 215 created_ = true;
216 } 216 }
217 217
218 void VerifyUntrackedOrigin(const GURL& origin) { 218 void VerifyUntrackedOrigin(const GURL& origin) {
219 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin)); 219 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
220 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin)); 220 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
221 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin)); 221 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
222 } 222 }
223 223
224 void VerifyBatchSyncOrigin(const GURL& origin,
225 const std::string& resource_id) {
226 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(origin));
227 EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
228 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
229 EXPECT_EQ(resource_id,
230 GetResourceID(metadata_store()->batch_sync_origins(), origin));
231 }
232
233 void VerifyIncrementalSyncOrigin(const GURL& origin, 224 void VerifyIncrementalSyncOrigin(const GURL& origin,
234 const std::string& resource_id) { 225 const std::string& resource_id) {
235 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin)); 226 EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
236 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(origin)); 227 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(origin));
237 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin)); 228 EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
238 EXPECT_EQ(resource_id, 229 EXPECT_EQ(resource_id,
239 GetResourceID(metadata_store()->incremental_sync_origins(), 230 GetResourceID(metadata_store()->incremental_sync_origins(),
240 origin)); 231 origin));
241 } 232 }
242 233
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 432
442 RestoreSyncRootDirectoryFromDB(); 433 RestoreSyncRootDirectoryFromDB();
443 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory()); 434 EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
444 435
445 VerifyReverseMap(); 436 VerifyReverseMap();
446 } 437 }
447 438
448 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) { 439 TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) {
449 const GURL kOrigin1("chrome-extension://example1"); 440 const GURL kOrigin1("chrome-extension://example1");
450 const GURL kOrigin2("chrome-extension://example2"); 441 const GURL kOrigin2("chrome-extension://example2");
451 const GURL kOrigin3("chrome-extension://example3");
452 const std::string kResourceId1("hoge"); 442 const std::string kResourceId1("hoge");
453 const std::string kResourceId2("fuga"); 443 const std::string kResourceId2("fuga");
454 const std::string kResourceId3("foo");
455 444
456 InitializeDatabase(); 445 InitializeDatabase();
457 446
458 // Make sure origins have not been marked yet. 447 // Make sure origins have not been marked yet.
459 VerifyUntrackedOrigin(kOrigin1); 448 VerifyUntrackedOrigin(kOrigin1);
460 VerifyUntrackedOrigin(kOrigin2); 449 VerifyUntrackedOrigin(kOrigin2);
461 VerifyUntrackedOrigin(kOrigin3);
462 450
463 // Mark origins as batch sync origins. 451 // Mark origins as incremental sync origins.
464 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 452 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
465 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 453 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2);
466 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); 454 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
467 VerifyBatchSyncOrigin(kOrigin1, kResourceId1); 455 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2);
468 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
469 VerifyBatchSyncOrigin(kOrigin3, kResourceId3);
470 456
471 // Mark |kOrigin1| as an incremental sync origin, and disable |kOrigin3| as 457 // Disabled origin 2, origin 1 should still be incremental.
472 // a disabled sync origin. |kOrigin2| should have still been marked as a 458 DisableOrigin(kOrigin2);
473 // batch sync origin.
474 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1);
475 DisableOrigin(kOrigin3);
476 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1); 459 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
477 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); 460 VerifyDisabledOrigin(kOrigin2, kResourceId2);
478 VerifyDisabledOrigin(kOrigin3, kResourceId3);
479 461
480 DropSyncOriginsInStore(); 462 DropSyncOriginsInStore();
481 463
482 // Make sure origins have been dropped. 464 // Make sure origins have been dropped.
483 VerifyUntrackedOrigin(kOrigin1); 465 VerifyUntrackedOrigin(kOrigin1);
484 VerifyUntrackedOrigin(kOrigin2); 466 VerifyUntrackedOrigin(kOrigin2);
485 VerifyUntrackedOrigin(kOrigin3);
486 467
487 RestoreOriginsFromDB(); 468 RestoreOriginsFromDB();
488 469
489 // Make sure origins have been restored. 470 // Make sure origins have been restored.
490 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1); 471 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
491 VerifyBatchSyncOrigin(kOrigin2, kResourceId2); 472 VerifyDisabledOrigin(kOrigin2, kResourceId2);
492 VerifyDisabledOrigin(kOrigin3, kResourceId3);
493 473
494 VerifyReverseMap(); 474 VerifyReverseMap();
495 } 475 }
496 476
497 TEST_F(DriveMetadataStoreTest, DisableOrigin) { 477 TEST_F(DriveMetadataStoreTest, DisableOrigin) {
498 const GURL kOrigin1("chrome-extension://example1"); 478 const GURL kOrigin1("chrome-extension://example1");
499 const GURL kOrigin2("chrome-extension://example2");
500 const std::string kResourceId1("hoge"); 479 const std::string kResourceId1("hoge");
501 const std::string kResourceId2("fuga");
502 480
503 InitializeDatabase(); 481 InitializeDatabase();
504 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 482 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
505 483
506 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 484 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
507 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 485 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
508 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
509 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
510 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2);
511 486
512 DisableOrigin(kOrigin1); 487 DisableOrigin(kOrigin1);
513 DisableOrigin(kOrigin2);
514 VerifyDisabledOrigin(kOrigin1, kResourceId1); 488 VerifyDisabledOrigin(kOrigin1, kResourceId1);
515 VerifyDisabledOrigin(kOrigin2, kResourceId2);
516 489
490 // Re-enabled origins go back to DriveFileSyncService and are not tracked
491 // in DriveMetadataStore.
517 EnableOrigin(kOrigin1); 492 EnableOrigin(kOrigin1);
518 EnableOrigin(kOrigin2); 493 VerifyUntrackedOrigin(kOrigin1);
519 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
520 VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
521 } 494 }
522 495
523 TEST_F(DriveMetadataStoreTest, RemoveOrigin) { 496 TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
524 const GURL kOrigin1("chrome-extension://example1"); 497 const GURL kOrigin1("chrome-extension://example1");
525 const GURL kOrigin2("chrome-extension://example2"); 498 const GURL kOrigin2("chrome-extension://example2");
526 const GURL kOrigin3("chrome-extension://example3"); 499 const GURL kOrigin3("chrome-extension://example3");
527 const GURL kOrigin4("chrome-extension://example4");
528 const GURL kOrigin5("chrome-extension://example5");
529 const std::string kResourceId1("hogera"); 500 const std::string kResourceId1("hogera");
530 const std::string kResourceId2("fugaga"); 501 const std::string kResourceId2("fugaga");
531 const std::string kResourceId3("piyopiyo"); 502 const std::string kResourceId3("piyopiyo");
532 const std::string kResourceId5("hogehoge");
533 503
534 InitializeDatabase(); 504 InitializeDatabase();
535 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 505 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
536 506
537 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 507 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
538 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 508 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2);
539 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); 509 metadata_store()->AddIncrementalSyncOrigin(kOrigin3, kResourceId3);
540 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3); 510 DisableOrigin(kOrigin3);
541 metadata_store()->AddBatchSyncOrigin(kOrigin5, kResourceId5); 511 EXPECT_EQ(2u, metadata_store()->incremental_sync_origins().size());
512 EXPECT_EQ(1u, metadata_store()->disabled_origins().size());
542 513
543 EXPECT_EQ(SYNC_STATUS_OK, 514 EXPECT_EQ(SYNC_STATUS_OK,
544 UpdateEntry( 515 UpdateEntry(
545 CreateSyncableFileSystemURL( 516 CreateSyncableFileSystemURL(
546 kOrigin1, kServiceName, base::FilePath(FPL("guf"))), 517 kOrigin1, kServiceName, base::FilePath(FPL("guf"))),
547 CreateMetadata("foo", "spam", false, false))); 518 CreateMetadata("foo", "spam", false, false)));
548 EXPECT_EQ(SYNC_STATUS_OK, 519 EXPECT_EQ(SYNC_STATUS_OK,
549 UpdateEntry( 520 UpdateEntry(
550 CreateSyncableFileSystemURL( 521 CreateSyncableFileSystemURL(
551 kOrigin2, kServiceName, base::FilePath(FPL("mof"))), 522 kOrigin2, kServiceName, base::FilePath(FPL("mof"))),
552 CreateMetadata("bar", "ham", false, false))); 523 CreateMetadata("bar", "ham", false, false)));
553 EXPECT_EQ(SYNC_STATUS_OK, 524 EXPECT_EQ(SYNC_STATUS_OK,
554 UpdateEntry( 525 UpdateEntry(
555 CreateSyncableFileSystemURL( 526 CreateSyncableFileSystemURL(
556 kOrigin3, kServiceName, base::FilePath(FPL("waf"))), 527 kOrigin3, kServiceName, base::FilePath(FPL("waf"))),
557 CreateMetadata("baz", "egg", false, false))); 528 CreateMetadata("baz", "egg", false, false)));
558 EXPECT_EQ(SYNC_STATUS_OK,
559 UpdateEntry(
560 CreateSyncableFileSystemURL(
561 kOrigin4, kServiceName, base::FilePath(FPL("cue"))),
562 CreateMetadata("lat", "fork", false, false)));
563 EXPECT_EQ(SYNC_STATUS_OK,
564 UpdateEntry(
565 CreateSyncableFileSystemURL(
566 kOrigin5, kServiceName, base::FilePath(FPL("tac"))),
567 CreateMetadata("pov", "spoon", false, false)));
568 EXPECT_EQ(SYNC_STATUS_OK,
569 UpdateEntry(
570 CreateSyncableFileSystemURL(
571 kOrigin1, kServiceName, base::FilePath(FPL("tic"))),
572 CreateMetadata("zav", "sause", false, false)));
573 529
574 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1));
575 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2)); 530 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2));
576 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4)); 531 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin3));
577 EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin5));
578 532
579 DropDatabase(); 533 DropDatabase();
580 InitializeDatabase(); 534 InitializeDatabase();
581 535
582 // kOrigin3 should be only remaining batch sync origin. 536 // kOrigin1 should be the only one left.
583 EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size()); 537 EXPECT_EQ(0u, metadata_store()->batch_sync_origins().size());
584 EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3)); 538 EXPECT_EQ(1u, metadata_store()->incremental_sync_origins().size());
585 EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty()); 539 EXPECT_EQ(0u, metadata_store()->disabled_origins().size());
586 EXPECT_TRUE(metadata_store()->disabled_origins().empty()); 540 EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1));
587 EXPECT_EQ(1u, metadata_map().size()); 541 EXPECT_EQ(1u, metadata_map().size());
588 542
589 DriveMetadataStore::MetadataMap::const_iterator found = 543 DriveMetadataStore::MetadataMap::const_iterator found =
590 metadata_map().find(kOrigin3); 544 metadata_map().find(kOrigin1);
591 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u); 545 EXPECT_TRUE(found != metadata_map().end() && found->second.size() == 1u);
592 546
593 VerifyReverseMap(); 547 VerifyReverseMap();
594 } 548 }
595 549
596 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) { 550 TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) {
597 const GURL kOrigin1("chrome-extension://example1"); 551 const GURL kOrigin1("chrome-extension://example1");
598 const GURL kOrigin2("chrome-extension://example2"); 552 const GURL kOrigin2("chrome-extension://example2");
599 const GURL kOrigin3("chrome-extension://example3"); 553 const GURL kOrigin3("chrome-extension://example3");
600 const std::string kResourceId1("hogera"); 554 const std::string kResourceId1("hogera");
601 const std::string kResourceId2("fugaga"); 555 const std::string kResourceId2("fugaga");
602 const std::string kResourceId3("piyopiyo"); 556 const std::string kResourceId3("piyopiyo");
603 557
604 InitializeDatabase(); 558 InitializeDatabase();
605 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 559 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
606 metadata_store()->SetSyncRootDirectory("root"); 560 metadata_store()->SetSyncRootDirectory("root");
607 561
608 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 562 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
609 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 563 metadata_store()->AddIncrementalSyncOrigin(kOrigin2, kResourceId2);
610 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2); 564 metadata_store()->AddIncrementalSyncOrigin(kOrigin3, kResourceId3);
611 metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
612 DisableOrigin(kOrigin3); 565 DisableOrigin(kOrigin3);
613 566
614 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); 567 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
615 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2)); 568 EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2));
616 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3)); 569 EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3));
617 570
618 DropDatabase(); 571 DropDatabase();
619 InitializeDatabase(); 572 InitializeDatabase();
620 573
621 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1)); 574 EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 EXPECT_EQ(kFileResourceId, metadata.resource_id()); 663 EXPECT_EQ(kFileResourceId, metadata.resource_id());
711 EXPECT_EQ(kFileMD5, metadata.md5_checksum()); 664 EXPECT_EQ(kFileMD5, metadata.md5_checksum());
712 EXPECT_FALSE(metadata.conflicted()); 665 EXPECT_FALSE(metadata.conflicted());
713 EXPECT_FALSE(metadata.to_be_fetched()); 666 EXPECT_FALSE(metadata.to_be_fetched());
714 667
715 VerifyReverseMap(); 668 VerifyReverseMap();
716 } 669 }
717 670
718 TEST_F(DriveMetadataStoreTest, ResetOriginRootDirectory) { 671 TEST_F(DriveMetadataStoreTest, ResetOriginRootDirectory) {
719 const GURL kOrigin1("chrome-extension://example1"); 672 const GURL kOrigin1("chrome-extension://example1");
720 const GURL kOrigin2("chrome-extension://example2");
721 const std::string kResourceId1("hoge"); 673 const std::string kResourceId1("hoge");
722 const std::string kResourceId2("fuga"); 674 const std::string kResourceId2("fuga");
723 const std::string kResourceId3("piyo");
724 675
725 InitializeDatabase(); 676 InitializeDatabase();
726 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1)); 677 EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
727 678
728 metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1); 679 metadata_store()->AddIncrementalSyncOrigin(kOrigin1, kResourceId1);
729 metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2); 680 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
730 metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
731 VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
732 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2);
733 VerifyReverseMap(); 681 VerifyReverseMap();
734 682
735 metadata_store()->SetOriginRootDirectory(kOrigin2, kResourceId3); 683 metadata_store()->SetOriginRootDirectory(kOrigin1, kResourceId2);
736 VerifyIncrementalSyncOrigin(kOrigin2, kResourceId3); 684 VerifyIncrementalSyncOrigin(kOrigin1, kResourceId2);
737 VerifyReverseMap(); 685 VerifyReverseMap();
738 } 686 }
739 687
740 } // namespace sync_file_system 688 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « chrome/browser/sync_file_system/drive_metadata_store.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698