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 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
394 details->set_change_id(++current_change_id_); | 394 details->set_change_id(++current_change_id_); |
395 } | 395 } |
396 | 396 |
397 void ApplyContentChangeToMetadata(FileMetadata* file) { | 397 void ApplyContentChangeToMetadata(FileMetadata* file) { |
398 FileDetails* details = file->mutable_details(); | 398 FileDetails* details = file->mutable_details(); |
399 details->set_md5( | 399 details->set_md5( |
400 "md5_value_" + base::Int64ToString(next_md5_sequence_number_++)); | 400 "md5_value_" + base::Int64ToString(next_md5_sequence_number_++)); |
401 details->set_change_id(++current_change_id_); | 401 details->set_change_id(++current_change_id_); |
402 } | 402 } |
403 | 403 |
404 void ApplyNoopChangeToMetadata(FileMetadata* file) { | |
405 file->mutable_details()->set_change_id(++current_change_id_); | |
406 } | |
407 | |
404 void PushToChangeList(scoped_ptr<google_apis::ChangeResource> change, | 408 void PushToChangeList(scoped_ptr<google_apis::ChangeResource> change, |
405 ScopedVector<google_apis::ChangeResource>* changes) { | 409 ScopedVector<google_apis::ChangeResource>* changes) { |
406 changes->push_back(change.release()); | 410 changes->push_back(change.release()); |
407 } | 411 } |
408 | 412 |
409 leveldb::Status PutFileToDB(leveldb::DB* db, const FileMetadata& file) { | 413 leveldb::Status PutFileToDB(leveldb::DB* db, const FileMetadata& file) { |
410 std::string key = "FILE: " + file.file_id(); | 414 std::string key = "FILE: " + file.file_id(); |
411 std::string value; | 415 std::string value; |
412 file.SerializeToString(&value); | 416 file.SerializeToString(&value); |
413 return db->Put(leveldb::WriteOptions(), key, value); | 417 return db->Put(leveldb::WriteOptions(), key, value); |
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
741 &new_file, | 745 &new_file, |
742 }; | 746 }; |
743 | 747 |
744 SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files)); | 748 SetUpDatabaseByTrackedFiles(tracked_files, arraysize(tracked_files)); |
745 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); | 749 EXPECT_EQ(SYNC_STATUS_OK, InitializeMetadataDatabase()); |
746 | 750 |
747 ApplyRenameChangeToMetadata("renamed", &renamed_file.metadata); | 751 ApplyRenameChangeToMetadata("renamed", &renamed_file.metadata); |
748 ApplyReorganizeChangeToMetadata(folder.metadata.file_id(), | 752 ApplyReorganizeChangeToMetadata(folder.metadata.file_id(), |
749 &reorganized_file.metadata); | 753 &reorganized_file.metadata); |
750 ApplyContentChangeToMetadata(&updated_file.metadata); | 754 ApplyContentChangeToMetadata(&updated_file.metadata); |
755 ApplyNoopChangeToMetadata(&noop_file.metadata); | |
kinuko
2013/11/18 06:57:11
Care to add a comment why we need it?
tzik
2013/11/18 07:17:13
Done.
| |
751 | 756 |
752 ScopedVector<google_apis::ChangeResource> changes; | 757 ScopedVector<google_apis::ChangeResource> changes; |
753 PushToChangeList( | 758 PushToChangeList( |
754 CreateChangeResourceFromMetadata(renamed_file.metadata), &changes); | 759 CreateChangeResourceFromMetadata(renamed_file.metadata), &changes); |
755 PushToChangeList( | 760 PushToChangeList( |
756 CreateChangeResourceFromMetadata(reorganized_file.metadata), &changes); | 761 CreateChangeResourceFromMetadata(reorganized_file.metadata), &changes); |
757 PushToChangeList( | 762 PushToChangeList( |
758 CreateChangeResourceFromMetadata(updated_file.metadata), &changes); | 763 CreateChangeResourceFromMetadata(updated_file.metadata), &changes); |
759 PushToChangeList( | 764 PushToChangeList( |
760 CreateChangeResourceFromMetadata(noop_file.metadata), &changes); | 765 CreateChangeResourceFromMetadata(noop_file.metadata), &changes); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
999 EXPECT_TRUE(file->HasKey("details")); | 1004 EXPECT_TRUE(file->HasKey("details")); |
1000 | 1005 |
1001 ASSERT_TRUE(files->GetDictionary(1, &file)); | 1006 ASSERT_TRUE(files->GetDictionary(1, &file)); |
1002 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); | 1007 EXPECT_TRUE(file->GetString("title", &str) && str == "file_0"); |
1003 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); | 1008 EXPECT_TRUE(file->GetString("type", &str) && str == "file"); |
1004 EXPECT_TRUE(file->HasKey("details")); | 1009 EXPECT_TRUE(file->HasKey("details")); |
1005 } | 1010 } |
1006 | 1011 |
1007 } // namespace drive_backend | 1012 } // namespace drive_backend |
1008 } // namespace sync_file_system | 1013 } // namespace sync_file_system |
OLD | NEW |