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

Unified Diff: chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc

Issue 377463002: [SyncFS] Handle dirty tracker IDs in MetadataDatabaseIndexOnDisk (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for comments Created 6 years, 5 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_backend/metadata_database_index_on_disk_unittest.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc
index 78d4ac2d9c83151ccd57a03a1d143cad324639b6..70c0968d51919e4aeee520b1f4568db309f9f479 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_index_on_disk_unittest.cc
@@ -187,7 +187,7 @@ TEST_F(MetadataDatabaseIndexOnDiskTest, IndexAppRootIDByAppIDTest) {
CreateTestDatabase(true);
std::vector<std::string> app_ids = index()->GetRegisteredAppIDs();
- ASSERT_EQ(1u, app_ids.size());
+ ASSERT_EQ(1U, app_ids.size());
EXPECT_EQ("app_id", app_ids[0]);
EXPECT_EQ(kInvalidTrackerID, index()->GetAppRootTracker(""));
@@ -247,5 +247,62 @@ TEST_F(MetadataDatabaseIndexOnDiskTest, IndexAppRootIDByAppIDTest) {
EXPECT_EQ(kInvalidTrackerID, index()->GetAppRootTracker("app_id_3"));
}
+TEST_F(MetadataDatabaseIndexOnDiskTest, DirtyTrackersTest) {
+ CreateTestDatabase(true);
+
+ scoped_ptr<leveldb::WriteBatch> batch;
+ // Testing public methods
+ EXPECT_EQ(1U, index()->CountDirtyTracker());
+ EXPECT_FALSE(index()->HasDemotedDirtyTracker());
+ EXPECT_EQ(kPlaceholderTrackerID, index()->PickDirtyTracker());
+ batch.reset(new leveldb::WriteBatch);
+ index()->DemoteDirtyTracker(kPlaceholderTrackerID, batch.get());
+ WriteToDB(batch.Pass());
+ EXPECT_TRUE(index()->HasDemotedDirtyTracker());
+ EXPECT_EQ(1U, index()->CountDirtyTracker());
+
+ const int64 tracker_id = 13;
+ scoped_ptr<FileTracker> app_root_tracker(new FileTracker);
+ index()->GetFileTracker(kAppRootTrackerID, app_root_tracker.get());
+
+ // Testing AddDirtyTrackerIndexes
+ scoped_ptr<FileTracker> tracker =
+ test_util::CreatePlaceholderTracker("placeholder",
+ tracker_id,
+ app_root_tracker.get());
+ batch.reset(new leveldb::WriteBatch);
+ index()->StoreFileTracker(tracker.Pass(), batch.get());
+ WriteToDB(batch.Pass());
+ EXPECT_EQ(2U, index()->CountDirtyTracker());
+ EXPECT_EQ(tracker_id, index()->PickDirtyTracker());
+
+ // Testing UpdateDirtyTrackerIndexes
+ tracker = test_util::CreatePlaceholderTracker("placeholder",
+ tracker_id,
+ app_root_tracker.get());
+ tracker->set_dirty(false);
+ batch.reset(new leveldb::WriteBatch);
+ index()->StoreFileTracker(tracker.Pass(), batch.get());
+ WriteToDB(batch.Pass());
+ EXPECT_EQ(1U, index()->CountDirtyTracker());
+ EXPECT_EQ(kInvalidTrackerID, index()->PickDirtyTracker());
+
+ tracker = test_util::CreatePlaceholderTracker("placeholder",
+ tracker_id,
+ app_root_tracker.get());
+ batch.reset(new leveldb::WriteBatch);
+ index()->StoreFileTracker(tracker.Pass(), batch.get());
+ WriteToDB(batch.Pass());
+ EXPECT_EQ(2U, index()->CountDirtyTracker());
+ EXPECT_EQ(tracker_id, index()->PickDirtyTracker());
+
+ // Testing RemoveFromDirtyTrackerIndexes
+ batch.reset(new leveldb::WriteBatch);
+ index()->RemoveFileTracker(tracker_id, batch.get());
+ WriteToDB(batch.Pass());
+ EXPECT_EQ(1U, index()->CountDirtyTracker());
+ EXPECT_EQ(kInvalidTrackerID, index()->PickDirtyTracker());
+}
+
} // namespace drive_backend
} // namespace sync_file_system

Powered by Google App Engine
This is Rietveld 408576698