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

Side by Side 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_backend/metadata_database.h" 5 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/scoped_temp_dir.h" 8 #include "base/files/scoped_temp_dir.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/message_loop/message_loop_proxy.h" 10 #include "base/message_loop/message_loop_proxy.h"
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 SyncStatusCode PopulateFolder(const std::string& folder_id, 585 SyncStatusCode PopulateFolder(const std::string& folder_id,
586 const FileIDList& listed_children) { 586 const FileIDList& listed_children) {
587 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 587 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
588 metadata_database_->PopulateFolder( 588 metadata_database_->PopulateFolder(
589 folder_id, listed_children, 589 folder_id, listed_children,
590 base::Bind(&SyncStatusResultCallback, &status)); 590 base::Bind(&SyncStatusResultCallback, &status));
591 message_loop_.RunUntilIdle(); 591 message_loop_.RunUntilIdle();
592 return status; 592 return status;
593 } 593 }
594 594
595 SyncStatusCode UpdateTracker(const FileTracker& tracker) {
596 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
597 metadata_database_->UpdateTracker(
598 tracker.tracker_id(), tracker.synced_details(),
599 base::Bind(&SyncStatusResultCallback, &status));
600 message_loop_.RunUntilIdle();
601 return status;
602 }
603
595 private: 604 private:
596 base::ScopedTempDir database_dir_; 605 base::ScopedTempDir database_dir_;
597 base::MessageLoop message_loop_; 606 base::MessageLoop message_loop_;
598 607
599 scoped_ptr<MetadataDatabase> metadata_database_; 608 scoped_ptr<MetadataDatabase> metadata_database_;
600 609
601 int64 next_change_id_; 610 int64 next_change_id_;
602 int64 next_tracker_id_; 611 int64 next_tracker_id_;
603 int64 next_file_id_number_; 612 int64 next_file_id_number_;
604 int64 next_md5_sequence_number_; 613 int64 next_md5_sequence_number_;
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
901 file.tracker.set_active(false); 910 file.tracker.set_active(false);
902 file.should_be_absent = false; 911 file.should_be_absent = false;
903 file.tracker_only = true; 912 file.tracker_only = true;
904 913
905 disabled_app_root.tracker.set_dirty(false); 914 disabled_app_root.tracker.set_dirty(false);
906 disabled_app_root.tracker.set_needs_folder_listing(false); 915 disabled_app_root.tracker.set_needs_folder_listing(false);
907 VerifyTrackedFiles(tracked_files, arraysize(tracked_files)); 916 VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
908 VerifyReloadConsistency(); 917 VerifyReloadConsistency();
909 } 918 }
910 919
920 TEST_F(MetadataDatabaseTest, UpdateTrackerTest) {
921 TrackedFile sync_root(CreateTrackedSyncRoot());
922 TrackedFile app_root(CreateTrackedAppRoot(sync_root, "app_root"));
923 TrackedFile file(CreateTrackedFile(app_root, "file"));
924 file.tracker.set_dirty(true);
925 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
926
927 TrackedFile inactive_file(CreateTrackedFile(app_root, "inactive_file"));
928 inactive_file.tracker.set_active(false);
929 inactive_file.tracker.set_dirty(true);
930 inactive_file.metadata.mutable_details()->set_title("renamed inactive file");
931 inactive_file.metadata.mutable_details()->set_md5("modified_md5");
932
933 TrackedFile new_conflict(CreateTrackedFile(app_root, "new conflict file"));
934 new_conflict.tracker.set_dirty(true);
935 new_conflict.metadata.mutable_details()->set_title("renamed file");
936
937 const TrackedFile* tracked_files[] = {
938 &sync_root, &app_root, &file, &inactive_file, &new_conflict
939 };
940
941 SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files));
942 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase());
943 VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
944 VerifyReloadConsistency();
945
946 *file.tracker.mutable_synced_details() = file.metadata.details();
947 file.tracker.set_dirty(false);
948 EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(file.tracker));
949 VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
950 VerifyReloadConsistency();
951
952 *inactive_file.tracker.mutable_synced_details() =
953 inactive_file.metadata.details();
954 inactive_file.tracker.set_dirty(false);
955 inactive_file.tracker.set_active(true);
956 EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(inactive_file.tracker));
957 VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
958 VerifyReloadConsistency();
959
960 *new_conflict.tracker.mutable_synced_details() =
961 new_conflict.metadata.details();
962 new_conflict.tracker.set_dirty(false);
963 new_conflict.tracker.set_active(true);
964 file.tracker.set_dirty(true);
965 file.tracker.set_active(false);
966 EXPECT_EQ(SYNC_STATUS_OK, UpdateTracker(new_conflict.tracker));
967 VerifyTrackedFiles(tracked_files, arraysize(tracked_files));
968 VerifyReloadConsistency();
969 }
970
911 } // namespace drive_backend 971 } // namespace drive_backend
912 } // namespace sync_file_system 972 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698