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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/metadata_database_unittest.cc

Issue 62583003: [Retry][SyncFS] Implement LargestKnownChangeID handling (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 7 years, 1 month 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
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/metadata_database.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/sync_file_system/drive_backend/metadata_database.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698