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/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 TrackerIDSet trackers; | 195 TrackerIDSet trackers; |
196 if (metadata_database_->FindTrackersByFileID(file_id, &trackers)) { | 196 if (metadata_database_->FindTrackersByFileID(file_id, &trackers)) { |
197 EXPECT_FALSE(trackers.empty()); | 197 EXPECT_FALSE(trackers.empty()); |
198 return *trackers.begin(); | 198 return *trackers.begin(); |
199 } | 199 } |
200 return 0; | 200 return 0; |
201 } | 201 } |
202 | 202 |
203 SyncStatusCode InitializeMetadataDatabase() { | 203 SyncStatusCode InitializeMetadataDatabase() { |
204 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 204 SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
205 MetadataDatabase::Create(database_dir_.path(), | 205 metadata_database_ = MetadataDatabase::Create( |
206 in_memory_env_.get(), | 206 database_dir_.path(), in_memory_env_.get(), &status); |
207 CreateResultReceiver(&status, | |
208 &metadata_database_)); | |
209 message_loop_.RunUntilIdle(); | |
210 return status; | 207 return status; |
211 } | 208 } |
212 | 209 |
213 void DropDatabase() { | 210 void DropDatabase() { |
214 metadata_database_.reset(); | 211 metadata_database_.reset(); |
215 message_loop_.RunUntilIdle(); | 212 message_loop_.RunUntilIdle(); |
216 } | 213 } |
217 | 214 |
218 void SetUpDatabaseByTrackedFiles(const TrackedFile** tracked_files, | 215 void SetUpDatabaseByTrackedFiles(const TrackedFile** tracked_files, |
219 int size) { | 216 int size) { |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 ASSERT_TRUE(metadata_database()->FindTrackerByTrackerID( | 545 ASSERT_TRUE(metadata_database()->FindTrackerByTrackerID( |
549 tracker.tracker_id(), &tracker_in_metadata_database)); | 546 tracker.tracker_id(), &tracker_in_metadata_database)); |
550 | 547 |
551 SCOPED_TRACE("Expect equivalent tracker[" + | 548 SCOPED_TRACE("Expect equivalent tracker[" + |
552 base::Int64ToString(tracker.tracker_id()) + "]"); | 549 base::Int64ToString(tracker.tracker_id()) + "]"); |
553 ExpectEquivalent(&tracker, &tracker_in_metadata_database); | 550 ExpectEquivalent(&tracker, &tracker_in_metadata_database); |
554 } | 551 } |
555 | 552 |
556 SyncStatusCode RegisterApp(const std::string& app_id, | 553 SyncStatusCode RegisterApp(const std::string& app_id, |
557 const std::string& folder_id) { | 554 const std::string& folder_id) { |
558 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 555 return metadata_database_->RegisterApp(app_id, folder_id); |
559 metadata_database_->RegisterApp( | |
560 app_id, folder_id, | |
561 CreateResultReceiver(&status)); | |
562 message_loop_.RunUntilIdle(); | |
563 return status; | |
564 } | 556 } |
565 | 557 |
566 SyncStatusCode DisableApp(const std::string& app_id) { | 558 SyncStatusCode DisableApp(const std::string& app_id) { |
567 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 559 return metadata_database_->DisableApp(app_id); |
568 metadata_database_->DisableApp( | |
569 app_id, CreateResultReceiver(&status)); | |
570 message_loop_.RunUntilIdle(); | |
571 return status; | |
572 } | 560 } |
573 | 561 |
574 SyncStatusCode EnableApp(const std::string& app_id) { | 562 SyncStatusCode EnableApp(const std::string& app_id) { |
575 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 563 return metadata_database_->EnableApp(app_id); |
576 metadata_database_->EnableApp( | |
577 app_id, CreateResultReceiver(&status)); | |
578 message_loop_.RunUntilIdle(); | |
579 return status; | |
580 } | 564 } |
581 | 565 |
582 SyncStatusCode UnregisterApp(const std::string& app_id) { | 566 SyncStatusCode UnregisterApp(const std::string& app_id) { |
583 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 567 return metadata_database_->UnregisterApp(app_id); |
584 metadata_database_->UnregisterApp( | |
585 app_id, CreateResultReceiver(&status)); | |
586 message_loop_.RunUntilIdle(); | |
587 return status; | |
588 } | 568 } |
589 | 569 |
590 SyncStatusCode UpdateByChangeList( | 570 SyncStatusCode UpdateByChangeList( |
591 ScopedVector<google_apis::ChangeResource> changes) { | 571 ScopedVector<google_apis::ChangeResource> changes) { |
592 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 572 return metadata_database_->UpdateByChangeList( |
593 metadata_database_->UpdateByChangeList( | 573 current_change_id_, changes.Pass()); |
594 current_change_id_, | |
595 changes.Pass(), CreateResultReceiver(&status)); | |
596 message_loop_.RunUntilIdle(); | |
597 return status; | |
598 } | 574 } |
599 | 575 |
600 SyncStatusCode PopulateFolder(const std::string& folder_id, | 576 SyncStatusCode PopulateFolder(const std::string& folder_id, |
601 const FileIDList& listed_children) { | 577 const FileIDList& listed_children) { |
602 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 578 return metadata_database_->PopulateFolderByChildList( |
603 metadata_database_->PopulateFolderByChildList( | 579 folder_id, listed_children); |
604 folder_id, listed_children, | |
605 CreateResultReceiver(&status)); | |
606 message_loop_.RunUntilIdle(); | |
607 return status; | |
608 } | 580 } |
609 | 581 |
610 SyncStatusCode UpdateTracker(const FileTracker& tracker) { | 582 SyncStatusCode UpdateTracker(const FileTracker& tracker) { |
611 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 583 return metadata_database_->UpdateTracker( |
612 metadata_database_->UpdateTracker( | 584 tracker.tracker_id(), tracker.synced_details()); |
613 tracker.tracker_id(), tracker.synced_details(), | |
614 CreateResultReceiver(&status)); | |
615 message_loop_.RunUntilIdle(); | |
616 return status; | |
617 } | 585 } |
618 | 586 |
619 SyncStatusCode PopulateInitialData( | 587 SyncStatusCode PopulateInitialData( |
620 int64 largest_change_id, | 588 int64 largest_change_id, |
621 const google_apis::FileResource& sync_root_folder, | 589 const google_apis::FileResource& sync_root_folder, |
622 const ScopedVector<google_apis::FileResource>& app_root_folders) { | 590 const ScopedVector<google_apis::FileResource>& app_root_folders) { |
623 SyncStatusCode status = SYNC_STATUS_UNKNOWN; | 591 return metadata_database_->PopulateInitialData( |
624 metadata_database_->PopulateInitialData( | 592 largest_change_id, sync_root_folder, app_root_folders); |
625 largest_change_id, | |
626 sync_root_folder, | |
627 app_root_folders, | |
628 CreateResultReceiver(&status)); | |
629 message_loop_.RunUntilIdle(); | |
630 return status; | |
631 } | 593 } |
632 | 594 |
633 void ResetTrackerID(FileTracker* tracker) { | 595 void ResetTrackerID(FileTracker* tracker) { |
634 tracker->set_tracker_id(GetTrackerIDByFileID(tracker->file_id())); | 596 tracker->set_tracker_id(GetTrackerIDByFileID(tracker->file_id())); |
635 } | 597 } |
636 | 598 |
637 int64 current_change_id() const { | 599 int64 current_change_id() const { |
638 return current_change_id_; | 600 return current_change_id_; |
639 } | 601 } |
640 | 602 |
(...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1183 EXPECT_TRUE(file->HasKey("details")); | 1145 EXPECT_TRUE(file->HasKey("details")); |
1184 | 1146 |
1185 ASSERT_TRUE(files->GetDictionary(1, &file)); | 1147 ASSERT_TRUE(files->GetDictionary(1, &file)); |
1186 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); | 1148 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); |
1187 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); | 1149 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); |
1188 EXPECT_TRUE(file->HasKey("details")); | 1150 EXPECT_TRUE(file->HasKey("details")); |
1189 } | 1151 } |
1190 | 1152 |
1191 } // namespace drive_backend | 1153 } // namespace drive_backend |
1192 } // namespace sync_file_system | 1154 } // namespace sync_file_system |
OLD | NEW |