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

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: review fix 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 1370287818db189abaa33431ce77595880e60386..2b8858d6bcb61ed7a1f79909bfbfa4578af4a7c3 100644
--- a/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_metadata_store_unittest.cc
@@ -133,18 +133,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(
@@ -194,6 +214,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();
}
@@ -223,7 +277,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();
}
@@ -332,79 +386,93 @@ 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());
}
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);
+}
+
+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) {
@@ -412,9 +480,11 @@ TEST_F(DriveMetadataStoreTest, RemoveOrigin) {
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));
@@ -423,6 +493,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(
@@ -447,12 +518,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();
@@ -461,6 +538,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 =
@@ -471,8 +549,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));
@@ -480,15 +560,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));
}
TEST_F(DriveMetadataStoreTest, MigrationFromV0) {

Powered by Google App Engine
This is Rietveld 408576698