| OLD | NEW |
| 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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 249 PutServiceMetadataToBatch(service_metadata, &batch); | 249 PutServiceMetadataToBatch(service_metadata, &batch); |
| 250 EXPECT_TRUE(db->Write(leveldb::WriteOptions(), &batch).ok()); | 250 EXPECT_TRUE(db->Write(leveldb::WriteOptions(), &batch).ok()); |
| 251 } | 251 } |
| 252 | 252 |
| 253 FileMetadata CreateSyncRootMetadata() { | 253 FileMetadata CreateSyncRootMetadata() { |
| 254 FileMetadata sync_root; | 254 FileMetadata sync_root; |
| 255 sync_root.set_file_id(kSyncRootFolderID); | 255 sync_root.set_file_id(kSyncRootFolderID); |
| 256 FileDetails* details = sync_root.mutable_details(); | 256 FileDetails* details = sync_root.mutable_details(); |
| 257 details->set_title(kSyncRootFolderTitle); | 257 details->set_title(kSyncRootFolderTitle); |
| 258 details->set_file_kind(FILE_KIND_FOLDER); | 258 details->set_file_kind(FILE_KIND_FOLDER); |
| 259 details->set_change_id(current_change_id_); |
| 259 return sync_root; | 260 return sync_root; |
| 260 } | 261 } |
| 261 | 262 |
| 262 FileMetadata CreateFileMetadata(const FileMetadata& parent, | 263 FileMetadata CreateFileMetadata(const FileMetadata& parent, |
| 263 const std::string& title) { | 264 const std::string& title) { |
| 264 FileMetadata file; | 265 FileMetadata file; |
| 265 file.set_file_id(GenerateFileID()); | 266 file.set_file_id(GenerateFileID()); |
| 266 FileDetails* details = file.mutable_details(); | 267 FileDetails* details = file.mutable_details(); |
| 267 details->add_parent_folder_ids(parent.file_id()); | 268 details->add_parent_folder_ids(parent.file_id()); |
| 268 details->set_title(title); | 269 details->set_title(title); |
| (...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 574 app_root_folders, | 575 app_root_folders, |
| 575 CreateResultReceiver(&status)); | 576 CreateResultReceiver(&status)); |
| 576 message_loop_.RunUntilIdle(); | 577 message_loop_.RunUntilIdle(); |
| 577 return status; | 578 return status; |
| 578 } | 579 } |
| 579 | 580 |
| 580 void ResetTrackerID(FileTracker* tracker) { | 581 void ResetTrackerID(FileTracker* tracker) { |
| 581 tracker->set_tracker_id(GetTrackerIDByFileID(tracker->file_id())); | 582 tracker->set_tracker_id(GetTrackerIDByFileID(tracker->file_id())); |
| 582 } | 583 } |
| 583 | 584 |
| 585 int64 current_change_id() const { |
| 586 return current_change_id_; |
| 587 } |
| 588 |
| 584 private: | 589 private: |
| 585 base::ScopedTempDir database_dir_; | 590 base::ScopedTempDir database_dir_; |
| 586 base::MessageLoop message_loop_; | 591 base::MessageLoop message_loop_; |
| 587 | 592 |
| 588 scoped_ptr<leveldb::Env> in_memory_env_; | 593 scoped_ptr<leveldb::Env> in_memory_env_; |
| 589 scoped_ptr<MetadataDatabase> metadata_database_; | 594 scoped_ptr<MetadataDatabase> metadata_database_; |
| 590 | 595 |
| 591 int64 current_change_id_; | 596 int64 current_change_id_; |
| 592 int64 next_tracker_id_; | 597 int64 next_tracker_id_; |
| 593 int64 next_file_id_number_; | 598 int64 next_file_id_number_; |
| (...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1059 | 1064 |
| 1060 TEST_F(MetadataDatabaseTest, PopulateInitialDataTest) { | 1065 TEST_F(MetadataDatabaseTest, PopulateInitialDataTest) { |
| 1061 TrackedFile sync_root(CreateTrackedSyncRoot()); | 1066 TrackedFile sync_root(CreateTrackedSyncRoot()); |
| 1062 TrackedFile app_root(CreateTrackedFolder(sync_root, "app_root")); | 1067 TrackedFile app_root(CreateTrackedFolder(sync_root, "app_root")); |
| 1063 app_root.tracker.set_active(false); | 1068 app_root.tracker.set_active(false); |
| 1064 | 1069 |
| 1065 const TrackedFile* tracked_files[] = { | 1070 const TrackedFile* tracked_files[] = { |
| 1066 &sync_root, &app_root | 1071 &sync_root, &app_root |
| 1067 }; | 1072 }; |
| 1068 | 1073 |
| 1069 int64 largest_change_id = 42; | |
| 1070 scoped_ptr<google_apis::FileResource> sync_root_folder( | 1074 scoped_ptr<google_apis::FileResource> sync_root_folder( |
| 1071 CreateFileResourceFromMetadata(sync_root.metadata)); | 1075 CreateFileResourceFromMetadata(sync_root.metadata)); |
| 1072 scoped_ptr<google_apis::FileResource> app_root_folder( | 1076 scoped_ptr<google_apis::FileResource> app_root_folder( |
| 1073 CreateFileResourceFromMetadata(app_root.metadata)); | 1077 CreateFileResourceFromMetadata(app_root.metadata)); |
| 1074 | 1078 |
| 1075 ScopedVector<google_apis::FileResource> app_root_folders; | 1079 ScopedVector<google_apis::FileResource> app_root_folders; |
| 1076 app_root_folders.push_back(app_root_folder.release()); | 1080 app_root_folders.push_back(app_root_folder.release()); |
| 1077 | 1081 |
| 1078 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); | 1082 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); |
| 1079 EXPECT_EQ(SYNC_STATUS_OK, PopulateInitialData( | 1083 EXPECT_EQ(SYNC_STATUS_OK, PopulateInitialData( |
| 1080 largest_change_id, | 1084 current_change_id(), |
| 1081 *sync_root_folder, | 1085 *sync_root_folder, |
| 1082 app_root_folders)); | 1086 app_root_folders)); |
| 1083 | 1087 |
| 1084 ResetTrackerID(&sync_root.tracker); | 1088 ResetTrackerID(&sync_root.tracker); |
| 1085 ResetTrackerID(&app_root.tracker); | 1089 ResetTrackerID(&app_root.tracker); |
| 1086 app_root.tracker.set_parent_tracker_id(sync_root.tracker.tracker_id()); | 1090 app_root.tracker.set_parent_tracker_id(sync_root.tracker.tracker_id()); |
| 1087 | 1091 |
| 1088 VerifyTrackedFiles(tracked_files, arraysize(tracked_files)); | 1092 VerifyTrackedFiles(tracked_files, arraysize(tracked_files)); |
| 1089 VerifyReloadConsistency(); | 1093 VerifyReloadConsistency(); |
| 1090 } | 1094 } |
| (...skipping 27 matching lines...) Expand all Loading... |
| 1118 EXPECT_TRUE(file->HasKey("details")); | 1122 EXPECT_TRUE(file->HasKey("details")); |
| 1119 | 1123 |
| 1120 ASSERT_TRUE(files->GetDictionary(1, &file)); | 1124 ASSERT_TRUE(files->GetDictionary(1, &file)); |
| 1121 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); | 1125 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); |
| 1122 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); | 1126 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); |
| 1123 EXPECT_TRUE(file->HasKey("details")); | 1127 EXPECT_TRUE(file->HasKey("details")); |
| 1124 } | 1128 } |
| 1125 | 1129 |
| 1126 } // namespace drive_backend | 1130 } // namespace drive_backend |
| 1127 } // namespace sync_file_system | 1131 } // namespace sync_file_system |
| OLD | NEW |