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

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

Issue 23288007: [SyncFS] Add MetadataDatabase::UpdateTracker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment fix Created 7 years, 4 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_unittest.cc
diff --git a/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc b/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc
index 0c1971113070988a005825233b1e79b0a001dbc7..ffddb6d0b1a463f37bbdba8ab1fd959e30e3807a 100644
--- a/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc
@@ -592,6 +592,15 @@ class MetadataDatabaseTest : public testing::Test {
return status;
}
+ SyncStatusCode UpdateTracker(const FileTracker& tracker) {
+ SyncStatusCode status = SYNC_STATUS_UNKNOWN;
+ metadata_database_->UpdateTracker(
+ tracker.tracker_id(), tracker.synced_details(),
+ base::Bind(&SyncStatusResultCallback, &status));
+ message_loop_.RunUntilIdle();
+ return status;
+ }
+
private:
base::ScopedTempDir database_dir_;
base::MessageLoop message_loop_;
@@ -908,5 +917,56 @@ TEST_F(MetadataDatabaseTest, PopulateFolderTest_DisabledAppRoot) {
VerifyReloadConsistency();
}
+TEST_F(MetadataDatabaseTest, UpdateTrackerTest) {
+ TrackedFile sync_root(CreateTrackedSyncRoot());
+ TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_root"));
+ TrackedFile file(CreateTrackedFile(app_root, "file"));
+ file.tracker.set_dirty(true);
+ file.metadata.mutable_details()->set_title("renamed file");;
kinuko 2013/08/27 13:20:19 nit: I'm still often confused by this 'metadata' w
tzik 2013/08/30 05:51:57 Done. I added some comment to the struct declarati
+
+ TrackedFile inactive_file(CreateTrackedFile(app_root, "inactive_file"));
+ inactive_file.tracker.set_active(false);
+ inactive_file.tracker.set_dirty(true);
+ inactive_file.metadata.mutable_details()->set_title("renamed inactive file");
+ inactive_file.metadata.mutable_details()->set_md5("modified_md5");
+
+ TrackedFile new_conflict(CreateTrackedFile(app_root, "new conflict file"));
+ new_conflict.tracker.set_dirty(true);
+ new_conflict.metadata.mutable_details()->set_title("renamed file");
+
+ const TrackedFile* tracked_files[] = {
+ &sync_root, &app_root, &file, &inactive_file, &new_conflict
+ };
+
+ SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files));
+ EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase());
+ VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
+ VerifyReloadConsistency();
+
+ *file.tracker.mutable_synced_details() = file.metadata.details();
+ file.tracker.set_dirty(false);
+ EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(file.tracker));
+ VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
+ VerifyReloadConsistency();
+
+ *inactive_file.tracker.mutable_synced_details() =
+ inactive_file.metadata.details();
+ inactive_file.tracker.set_dirty(false);
+ inactive_file.tracker.set_active(true);
+ EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(inactive_file.tracker));
+ VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
+ VerifyReloadConsistency();
+
+ *new_conflict.tracker.mutable_synced_details() =
+ new_conflict.metadata.details();
+ new_conflict.tracker.set_dirty(false);
+ new_conflict.tracker.set_active(true);
+ file.tracker.set_dirty(true);
+ file.tracker.set_active(false);
+ EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(new_conflict.tracker));
+ VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
+ VerifyReloadConsistency();
+}
+
} // namespace drive_backend
} // namespace sync_file_system

Powered by Google App Engine
This is Rietveld 408576698