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

Unified Diff: chrome/browser/sync_file_system/drive_metadata_store_unittest.cc

Issue 12744008: SyncFS: store disabled origins in DriveMetadataStore (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
diff --git a/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc b/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
index 3dbb86966aff52e23e74200651488615b867c80a..d9a8a9c85c3d17f7b2fafe9e530ed590e73c0531 100644
--- a/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
@@ -134,18 +134,38 @@ class DriveMetadataStoreTest : public testing::Test {
EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread());
drive_metadata_store_->batch_sync_origins_.clear();
drive_metadata_store_->incremental_sync_origins_.clear();
+ drive_metadata_store_->disabled_origins_.clear();
EXPECT_TRUE(drive_metadata_store_->batch_sync_origins().empty());
EXPECT_TRUE(drive_metadata_store_->incremental_sync_origins().empty());
+ EXPECT_TRUE(drive_metadata_store_->disabled_origins().empty());
}
- void RestoreSyncOriginsFromDB() {
+ void RestoreOriginsFromDB() {
EXPECT_TRUE(ui_task_runner_->RunsTasksOnCurrentThread());
- drive_metadata_store_->RestoreSyncOrigins(
- base::Bind(&DriveMetadataStoreTest::DidRestoreSyncOrigins,
+ drive_metadata_store_->RestoreOrigins(
+ base::Bind(&DriveMetadataStoreTest::DidRestoreOrigins,
base::Unretained(this)));
message_loop_.Run();
}
+ SyncStatusCode EnableOrigin(const GURL& origin) {
+ SyncStatusCode status = SYNC_STATUS_UNKNOWN;
+ drive_metadata_store_->EnableOrigin(
+ origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask,
+ base::Unretained(this), &status));
+ message_loop_.Run();
+ return status;
+ }
+
+ SyncStatusCode DisableOrigin(const GURL& origin) {
+ SyncStatusCode status = SYNC_STATUS_UNKNOWN;
+ drive_metadata_store_->DisableOrigin(
+ origin, base::Bind(&DriveMetadataStoreTest::DidFinishDBTask,
+ base::Unretained(this), &status));
+ message_loop_.Run();
+ return status;
+ }
+
SyncStatusCode RemoveOrigin(const GURL& url) {
SyncStatusCode status = SYNC_STATUS_UNKNOWN;
drive_metadata_store_->RemoveOrigin(
@@ -195,6 +215,40 @@ class DriveMetadataStoreTest : public testing::Test {
created_ = true;
}
+ void VerifyUntrackedOrigin(const GURL& origin) {
+ EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
+ }
+
+ void VerifyBatchSyncOrigin(const GURL& origin,
+ const std::string& resource_id) {
+ EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
+ EXPECT_EQ(resource_id,
+ GetResourceID(metadata_store()->batch_sync_origins(), origin));
+ }
+
+ void VerifyIncrementalSyncOrigin(const GURL& origin,
+ const std::string& resource_id) {
+ EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
+ EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsOriginDisabled(origin));
+ EXPECT_EQ(resource_id,
+ GetResourceID(metadata_store()->incremental_sync_origins(),
+ origin));
+ }
+
+ void VerifyDisabledOrigin(const GURL& origin,
+ const std::string& resource_id) {
+ EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(origin));
+ EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(origin));
+ EXPECT_TRUE(metadata_store()->IsOriginDisabled(origin));
+ EXPECT_EQ(resource_id,
+ GetResourceID(metadata_store()->disabled_origins(), origin));
+ }
+
base::FilePath base_dir() {
return base_dir_.path();
}
@@ -212,17 +266,22 @@ class DriveMetadataStoreTest : public testing::Test {
drive_metadata_store_->batch_sync_origins_;
const ResourceIdByOrigin& incremental_sync_origins =
drive_metadata_store_->incremental_sync_origins_;
+ const ResourceIdByOrigin& disabled_origins =
+ drive_metadata_store_->disabled_origins_;
const OriginByResourceId& origin_by_resource_id =
drive_metadata_store_->origin_by_resource_id_;
size_t expected_size =
- batch_sync_origins.size() + incremental_sync_origins.size();
+ batch_sync_origins.size() + incremental_sync_origins.size() +
+ disabled_origins.size();
size_t actual_size = origin_by_resource_id.size();
EXPECT_EQ(expected_size, actual_size);
EXPECT_TRUE(VerifyReverseMapInclusion(batch_sync_origins,
origin_by_resource_id));
EXPECT_TRUE(VerifyReverseMapInclusion(incremental_sync_origins,
origin_by_resource_id));
+ EXPECT_TRUE(VerifyReverseMapInclusion(disabled_origins,
+ origin_by_resource_id));
}
private:
@@ -242,7 +301,7 @@ class DriveMetadataStoreTest : public testing::Test {
message_loop_.Quit();
}
- void DidRestoreSyncOrigins(SyncStatusCode status) {
+ void DidRestoreOrigins(SyncStatusCode status) {
EXPECT_EQ(SYNC_STATUS_OK, status);
message_loop_.Quit();
}
@@ -368,20 +427,20 @@ TEST_F(DriveMetadataStoreTest, GetToBeFetchedFilessTest) {
}
TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) {
- const std::string kResourceID("hoge");
+ const std::string kResourceId("hoge");
InitializeDatabase();
EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
- metadata_store()->SetSyncRootDirectory(kResourceID);
- EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory());
+ metadata_store()->SetSyncRootDirectory(kResourceId);
+ EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
DropSyncRootDirectoryInStore();
EXPECT_TRUE(metadata_store()->sync_root_directory().empty());
RestoreSyncRootDirectoryFromDB();
- EXPECT_EQ(kResourceID, metadata_store()->sync_root_directory());
+ EXPECT_EQ(kResourceId, metadata_store()->sync_root_directory());
VerifyReverseMap();
}
@@ -389,72 +448,88 @@ TEST_F(DriveMetadataStoreTest, StoreSyncRootDirectory) {
TEST_F(DriveMetadataStoreTest, StoreSyncOrigin) {
const GURL kOrigin1("chrome-extension://example1");
const GURL kOrigin2("chrome-extension://example2");
- const std::string kResourceID1("hoge");
- const std::string kResourceID2("fuga");
+ const GURL kOrigin3("chrome-extension://example3");
+ const std::string kResourceId1("hoge");
+ const std::string kResourceId2("fuga");
+ const std::string kResourceId3("foo");
InitializeDatabase();
// Make sure origins have not been marked yet.
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
+ VerifyUntrackedOrigin(kOrigin1);
+ VerifyUntrackedOrigin(kOrigin2);
+ VerifyUntrackedOrigin(kOrigin3);
// Mark origins as batch sync origins.
- metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceID1);
- metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceID2);
- EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin1));
- EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2));
- EXPECT_EQ(kResourceID1,
- GetResourceID(metadata_store()->batch_sync_origins(), kOrigin1));
- EXPECT_EQ(kResourceID2,
- GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
-
- // Mark |kOrigin1| as an incremental sync origin. |kOrigin2| should have still
- // been marked as a batch sync origin.
+ metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
+ metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
+ metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
+ VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
+ VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
+ VerifyBatchSyncOrigin(kOrigin3, kResourceId3);
+
+ // Mark |kOrigin1| as an incremental sync origin, and disable |kOrigin3| as
+ // a disabled sync origin. |kOrigin2| should have still been marked as a
+ // batch sync origin.
metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin1);
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1));
- EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2));
- EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
- EXPECT_EQ(kResourceID1,
- GetResourceID(metadata_store()->incremental_sync_origins(),
- kOrigin1));
- EXPECT_EQ(kResourceID2,
- GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
+ DisableOrigin(kOrigin3);
+ VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
+ VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
+ VerifyDisabledOrigin(kOrigin3, kResourceId3);
DropSyncOriginsInStore();
// Make sure origins have been dropped.
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin2));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
+ VerifyUntrackedOrigin(kOrigin1);
+ VerifyUntrackedOrigin(kOrigin2);
+ VerifyUntrackedOrigin(kOrigin3);
- RestoreSyncOriginsFromDB();
+ RestoreOriginsFromDB();
// Make sure origins have been restored.
- EXPECT_FALSE(metadata_store()->IsBatchSyncOrigin(kOrigin1));
- EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin2));
- EXPECT_TRUE(metadata_store()->IsIncrementalSyncOrigin(kOrigin1));
- EXPECT_FALSE(metadata_store()->IsIncrementalSyncOrigin(kOrigin2));
- EXPECT_EQ(kResourceID1,
- GetResourceID(metadata_store()->incremental_sync_origins(),
- kOrigin1));
- EXPECT_EQ(kResourceID2,
- GetResourceID(metadata_store()->batch_sync_origins(), kOrigin2));
+ VerifyIncrementalSyncOrigin(kOrigin1, kResourceId1);
+ VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
+ VerifyDisabledOrigin(kOrigin3, kResourceId3);
VerifyReverseMap();
}
+TEST_F(DriveMetadataStoreTest, DisableOrigin) {
+ const GURL kOrigin1("chrome-extension://example1");
+ const GURL kOrigin2("chrome-extension://example2");
+ const std::string kResourceId1("hoge");
+ const std::string kResourceId2("fuga");
+
+ InitializeDatabase();
+ EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
+
+ metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
+ metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
+ metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
+ VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
+ VerifyIncrementalSyncOrigin(kOrigin2, kResourceId2);
+
+ DisableOrigin(kOrigin1);
+ DisableOrigin(kOrigin2);
+ VerifyDisabledOrigin(kOrigin1, kResourceId1);
+ VerifyDisabledOrigin(kOrigin2, kResourceId2);
+
+ EnableOrigin(kOrigin1);
+ EnableOrigin(kOrigin2);
+ VerifyBatchSyncOrigin(kOrigin1, kResourceId1);
+ VerifyBatchSyncOrigin(kOrigin2, kResourceId2);
+}
+
TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
const GURL kOrigin1("chrome-extension://example1");
const GURL kOrigin2("chrome-extension://example2");
const GURL kOrigin3("chrome-extension://example3");
const GURL kOrigin4("chrome-extension://example4");
+ const GURL kOrigin5("chrome-extension://example5");
const std::string kResourceId1("hogera");
const std::string kResourceId2("fugaga");
const std::string kResourceId3("piyopiyo");
+ const std::string kResourceId5("hogehoge");
InitializeDatabase();
EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
@@ -463,6 +538,7 @@ TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
+ metadata_store()->AddBatchSyncOrigin(kOrigin5, kResourceId5);
EXPECT_EQ(SYNC_STATUS_OK,
UpdateEntry(
@@ -487,12 +563,18 @@ TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
EXPECT_EQ(SYNC_STATUS_OK,
UpdateEntry(
CreateSyncableFileSystemURL(
+ kOrigin5, kServiceName, base::FilePath(FPL("tac"))),
+ CreateMetadata("pov", "spoon", false, false)));
+ EXPECT_EQ(SYNC_STATUS_OK,
+ UpdateEntry(
+ CreateSyncableFileSystemURL(
kOrigin1, kServiceName, base::FilePath(FPL("tic"))),
CreateMetadata("zav", "sause", false, false)));
EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin1));
EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin2));
EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin4));
+ EXPECT_EQ(SYNC_STATUS_OK, RemoveOrigin(kOrigin5));
DropDatabase();
InitializeDatabase();
@@ -501,6 +583,7 @@ TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
EXPECT_EQ(1u, metadata_store()->batch_sync_origins().size());
EXPECT_TRUE(metadata_store()->IsBatchSyncOrigin(kOrigin3));
EXPECT_TRUE(metadata_store()->incremental_sync_origins().empty());
+ EXPECT_TRUE(metadata_store()->disabled_origins().empty());
EXPECT_EQ(1u, metadata_map().size());
DriveMetadataStore::MetadataMap::const_iterator found =
@@ -513,8 +596,10 @@ TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) {
const GURL kOrigin1("chrome-extension://example1");
const GURL kOrigin2("chrome-extension://example2");
+ const GURL kOrigin3("chrome-extension://example3");
const std::string kResourceId1("hogera");
const std::string kResourceId2("fugaga");
+ const std::string kResourceId3("piyopiyo");
InitializeDatabase();
EXPECT_EQ(SYNC_STATUS_OK, SetLargestChangeStamp(1));
@@ -522,15 +607,19 @@ TEST_F(DriveMetadataStoreTest, GetResourceIdForOrigin) {
metadata_store()->AddBatchSyncOrigin(kOrigin1, kResourceId1);
metadata_store()->AddBatchSyncOrigin(kOrigin2, kResourceId2);
metadata_store()->MoveBatchSyncOriginToIncremental(kOrigin2);
+ metadata_store()->AddBatchSyncOrigin(kOrigin3, kResourceId3);
+ DisableOrigin(kOrigin3);
EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2));
+ EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3));
DropDatabase();
InitializeDatabase();
EXPECT_EQ(kResourceId1, metadata_store()->GetResourceIdForOrigin(kOrigin1));
EXPECT_EQ(kResourceId2, metadata_store()->GetResourceIdForOrigin(kOrigin2));
+ EXPECT_EQ(kResourceId3, metadata_store()->GetResourceIdForOrigin(kOrigin3));
VerifyReverseMap();
}
« no previous file with comments | « chrome/browser/sync_file_system/drive_metadata_store.cc ('k') | chrome/browser/sync_file_system/local_file_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698