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

Unified Diff: components/drive/change_list_processor_unittest.cc

Issue 2799603002: Process TeamDrive change in change list. (Closed)
Patch Set: Add test for update. Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: components/drive/change_list_processor_unittest.cc
diff --git a/components/drive/change_list_processor_unittest.cc b/components/drive/change_list_processor_unittest.cc
index da26090bfe8ba207e61d608b72ea88d7aa5a354e..987806a354d6c29b694f5482c7d0f271d164f82e 100644
--- a/components/drive/change_list_processor_unittest.cc
+++ b/components/drive/change_list_processor_unittest.cc
@@ -31,6 +31,7 @@ namespace internal {
namespace {
const int64_t kBaseResourceListChangestamp = 123;
+const int64_t kSecondResourceListChangestamp = 4567;
hashimoto 2017/04/06 10:23:36 You can use kBaseResourceListChangestamp + 1 inste
yamaguchi 2017/04/07 03:57:43 Done.
const char kRootId[] = "fake_root";
enum FileOrDirectory {
@@ -658,5 +659,53 @@ TEST_F(ChangeListProcessorTest, ModificationDate) {
EXPECT_EQ(new_file_local.title(), entry.title());
}
+TEST_F(ChangeListProcessorTest, DeltaTeamDriveChange) {
+ const char kTeamDriveId[] = "ID_OF_TEAM_DRIVE";
+ const char kOldName[] = "Old Name";
+ const char kNewName[] = "New Name";
+
+ TeamDriveChange team_drive;
+ team_drive.set_name(kOldName);
+ team_drive.set_id(kTeamDriveId);
+
+ std::vector<std::unique_ptr<ChangeList>> change_lists;
+ change_lists.push_back(base::MakeUnique<ChangeList>());
+ change_lists[0]->mutable_team_drives()->push_back(team_drive);
+ change_lists[0]->set_largest_changestamp(kSecondResourceListChangestamp);
+
+ // Apply the changelist and check the effect.
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
+
+ FileChange changed_files;
+ EXPECT_EQ(FILE_ERROR_OK,
+ ApplyChangeList(std::move(change_lists), &changed_files));
+
+ int64_t changestamp = 0;
+ EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp));
+ EXPECT_EQ(kSecondResourceListChangestamp, changestamp);
+
+ ResourceEntry entry;
+ EXPECT_EQ(FILE_ERROR_OK,
+ metadata_->GetResourceEntryById(kTeamDriveId, &entry));
+ EXPECT_EQ(kOldName, entry.title());
+
+ // Changelist consists of all Team Drive change. No file change.
+ EXPECT_EQ(FILE_ERROR_OK,
+ metadata_->GetResourceEntryById(kTeamDriveId, &entry));
hashimoto 2017/04/06 10:23:36 This GetResourceEntryById() is not needed?
yamaguchi 2017/04/07 03:57:43 Right, it's not needed.
+ EXPECT_EQ(0U, changed_files.size());
+
+ // Second change, which updates Team Drive name
+ change_lists.clear();
+ change_lists.push_back(base::MakeUnique<ChangeList>());
+ team_drive.set_name(kNewName);
+ change_lists[0]->mutable_team_drives()->push_back(team_drive);
+ change_lists[0]->set_largest_changestamp(kSecondResourceListChangestamp + 1);
+ EXPECT_EQ(FILE_ERROR_OK,
+ ApplyChangeList(std::move(change_lists), &changed_files));
+ EXPECT_EQ(FILE_ERROR_OK,
+ metadata_->GetResourceEntryById(kTeamDriveId, &entry));
+ EXPECT_EQ(kNewName, entry.title());
+}
+
} // namespace internal
} // namespace drive
« no previous file with comments | « no previous file | components/drive/chromeos/change_list_processor.h » ('j') | components/drive/chromeos/change_list_processor.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698