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

Unified Diff: chrome/browser/chromeos/drive/change_list_processor_unittest.cc

Issue 252563011: drive: Remove root_feed.json and others (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/file_system/copy_operation_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/drive/change_list_processor_unittest.cc
diff --git a/chrome/browser/chromeos/drive/change_list_processor_unittest.cc b/chrome/browser/chromeos/drive/change_list_processor_unittest.cc
index daaabc805a9717abe84dbe6e756cfe0ab3f6e0ef..00840388d0793e2b4d7810f6e2472a4790119fec 100644
--- a/chrome/browser/chromeos/drive/change_list_processor_unittest.cc
+++ b/chrome/browser/chromeos/drive/change_list_processor_unittest.cc
@@ -23,7 +23,6 @@ namespace internal {
namespace {
const int64 kBaseResourceListChangestamp = 123;
-const char kBaseResourceListFile[] = "gdata/root_feed.json";
const char kRootId[] = "fake_root";
enum FileOrDirectory {
@@ -38,23 +37,58 @@ struct EntryExpectation {
FileOrDirectory type;
};
-typedef std::map<std::string, ResourceEntry> ResourceEntryMap;
-typedef std::map<std::string, std::string> ParentResourceIdMap;
-void ConvertToMap(ScopedVector<ChangeList> change_lists,
- ResourceEntryMap* entry_map,
- ParentResourceIdMap* parent_resource_id_map) {
- for (size_t i = 0; i < change_lists.size(); ++i) {
- const std::vector<ResourceEntry>& entries = change_lists[i]->entries();
- const std::vector<std::string>& parent_resource_ids =
- change_lists[i]->parent_resource_ids();
- EXPECT_EQ(entries.size(), parent_resource_ids.size());
-
- for (size_t i = 0; i < entries.size(); ++i) {
- const std::string& resource_id = entries[i].resource_id();
- (*parent_resource_id_map)[resource_id] = parent_resource_ids[i];
- (*entry_map)[resource_id] = entries[i];
- }
- }
+// Returns a basic change list which contains some files and directories.
+ScopedVector<ChangeList> CreateBaseChangeList() {
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
+
+ // Add directories to the change list.
+ ResourceEntry directory;
+ directory.mutable_file_info()->set_is_directory(true);
+
+ directory.set_title("Directory 1");
+ directory.set_resource_id("folder:1_folder_resource_id");
+ change_lists[0]->mutable_entries()->push_back(directory);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ directory.set_title("Sub Directory Folder");
+ directory.set_resource_id("folder:sub_dir_folder_resource_id");
+ change_lists[0]->mutable_entries()->push_back(directory);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:1_folder_resource_id");
+
+ directory.set_title("Sub Sub Directory Folder");
+ directory.set_resource_id("folder:sub_sub_directory_folder_id");
+ change_lists[0]->mutable_entries()->push_back(directory);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:sub_dir_folder_resource_id");
+
+ directory.set_title("Directory 2 excludeDir-test");
+ directory.set_resource_id("folder:sub_dir_folder_2_self_link");
+ change_lists[0]->mutable_entries()->push_back(directory);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ // Add files to the change list.
+ ResourceEntry file;
+
+ file.set_title("File 1.txt");
+ file.set_resource_id("file:2_file_resource_id");
+ change_lists[0]->mutable_entries()->push_back(file);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ file.set_title("SubDirectory File 1.txt");
+ file.set_resource_id("file:subdirectory_file_1_id");
+ change_lists[0]->mutable_entries()->push_back(file);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:1_folder_resource_id");
+
+ file.set_title("Orphan File 1.txt");
+ file.set_resource_id("file:1_orphanfile_resource_id");
+ change_lists[0]->mutable_entries()->push_back(file);
+ change_lists[0]->mutable_parent_resource_ids()->push_back("");
+
+ change_lists[0]->set_largest_changestamp(kBaseResourceListChangestamp);
+ return change_lists.Pass();
}
class ChangeListProcessorTest : public testing::Test {
@@ -71,17 +105,6 @@ class ChangeListProcessorTest : public testing::Test {
ASSERT_EQ(FILE_ERROR_OK, metadata_->Initialize());
}
- // Parses a json file at |test_data_path| relative to Chrome test directory
- // into a ScopedVector<drive::internal::ChangeList>.
- ScopedVector<ChangeList> ParseChangeList(const std::string& test_data_path) {
- ScopedVector<ChangeList> changes;
- changes.push_back(new ChangeList(
- *google_apis::ResourceList::ExtractAndParse(
- *google_apis::test_util::LoadJSONFile(
- test_data_path))));
- return changes.Pass();
- }
-
// Applies the |changes| to |metadata_| as a full resource list of changestamp
// |kBaseResourceListChangestamp|.
FileError ApplyFullResourceList(ScopedVector<ChangeList> changes) {
@@ -134,33 +157,20 @@ class ChangeListProcessorTest : public testing::Test {
} // namespace
TEST_F(ChangeListProcessorTest, ApplyFullResourceList) {
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
const EntryExpectation kExpected[] = {
// Root files
{"drive/root", kRootId, "", DIRECTORY},
{"drive/root/File 1.txt",
"file:2_file_resource_id", kRootId, FILE},
- {"drive/root/Slash _ in file 1.txt",
- "file:slash_file_resource_id", kRootId, FILE},
- {"drive/root/Document 1 excludeDir-test.gdoc",
- "document:5_document_resource_id", kRootId, FILE},
// Subdirectory files
{"drive/root/Directory 1",
"folder:1_folder_resource_id", kRootId, DIRECTORY},
{"drive/root/Directory 1/SubDirectory File 1.txt",
"file:subdirectory_file_1_id", "folder:1_folder_resource_id", FILE},
- {"drive/root/Directory 1/Shared To The Account Owner.txt",
- "file:subdirectory_unowned_file_1_id",
- "folder:1_folder_resource_id", FILE},
{"drive/root/Directory 2 excludeDir-test",
"folder:sub_dir_folder_2_self_link", kRootId, DIRECTORY},
- {"drive/root/Slash _ in directory",
- "folder:slash_dir_folder_resource_id", kRootId, DIRECTORY},
- {"drive/root/Slash _ in directory/Slash SubDir File.txt",
- "file:slash_subdir_file",
- "folder:slash_dir_folder_resource_id", FILE},
// Deeper
{"drive/root/Directory 1/Sub Directory Folder",
"folder:sub_dir_folder_resource_id",
@@ -190,39 +200,34 @@ TEST_F(ChangeListProcessorTest, ApplyFullResourceList) {
}
TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) {
- const char kTestJson[] =
- "gdata/delta_file_added_in_new_directory.json";
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
- ConvertToMap(ParseChangeList(kTestJson), &entry_map, &parent_resource_id_map);
-
- const std::string kNewFolderId("folder:new_folder_resource_id");
- const std::string kNewFileId("document:file_added_in_new_dir_id");
-
- // Check the content of parsed ResourceEntryMap.
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kNewFolderId));
- EXPECT_TRUE(entry_map.count(kNewFileId));
- EXPECT_EQ(kRootId, parent_resource_id_map[kNewFolderId]);
- EXPECT_EQ(kNewFolderId, parent_resource_id_map[kNewFileId]);
- EXPECT_TRUE(entry_map[kNewFolderId].file_info().is_directory());
- EXPECT_FALSE(entry_map[kNewFileId].file_info().is_directory());
- EXPECT_EQ("New Directory", entry_map[kNewFolderId].title());
- EXPECT_EQ("File in new dir", entry_map[kNewFileId].title());
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
+
+ ResourceEntry new_folder;
+ new_folder.set_resource_id("folder:new_folder_resource_id");
+ new_folder.set_title("New Directory");
+ new_folder.mutable_file_info()->set_is_directory(true);
+ change_lists[0]->mutable_entries()->push_back(new_folder);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ ResourceEntry new_file;
+ new_file.set_resource_id("document:file_added_in_new_dir_id");
+ new_file.set_title("File in new dir.txt");
+ change_lists[0]->mutable_entries()->push_back(new_file);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ new_folder.resource_id());
+
+ change_lists[0]->set_largest_changestamp(16730);
// Apply the changelist and check the effect.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJson), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
- // The value is written in kTestJson.
EXPECT_EQ(16730, metadata_->GetLargestChangestamp());
EXPECT_TRUE(GetResourceEntry("drive/root/New Directory"));
EXPECT_TRUE(GetResourceEntry(
- "drive/root/New Directory/File in new dir.gdoc"));
+ "drive/root/New Directory/File in new dir.txt"));
EXPECT_EQ(2U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
@@ -232,30 +237,24 @@ TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) {
}
TEST_F(ChangeListProcessorTest, DeltaDirMovedFromRootToDirectory) {
- const char kTestJson[] =
- "gdata/delta_dir_moved_from_root_to_directory.json";
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
- ConvertToMap(ParseChangeList(kTestJson), &entry_map, &parent_resource_id_map);
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
- const std::string kMovedId("folder:1_folder_resource_id");
- const std::string kDestId("folder:sub_dir_folder_2_self_link");
+ ResourceEntry entry;
+ entry.set_resource_id("folder:1_folder_resource_id");
+ entry.set_title("Directory 1");
+ entry.mutable_file_info()->set_is_directory(true);
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:sub_dir_folder_2_self_link");
- // Check the content of parsed ResourceEntryMap.
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kMovedId));
- EXPECT_TRUE(entry_map.count(kDestId));
- EXPECT_EQ(kDestId, parent_resource_id_map[kMovedId]);
+ change_lists[0]->set_largest_changestamp(16809);
// Apply the changelist and check the effect.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJson), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
- // The value is written in kTestJson.
EXPECT_EQ(16809, metadata_->GetLargestChangestamp());
EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1"));
EXPECT_TRUE(GetResourceEntry(
@@ -275,30 +274,22 @@ TEST_F(ChangeListProcessorTest, DeltaDirMovedFromRootToDirectory) {
}
TEST_F(ChangeListProcessorTest, DeltaFileMovedFromDirectoryToRoot) {
- const char kTestJson[] =
- "gdata/delta_file_moved_from_directory_to_root.json";
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
- ConvertToMap(ParseChangeList(kTestJson), &entry_map, &parent_resource_id_map);
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
- const std::string kMovedId("file:subdirectory_file_1_id");
- const std::string kSrcId("folder:1_folder_resource_id");
+ ResourceEntry entry;
+ entry.set_resource_id("file:subdirectory_file_1_id");
+ entry.set_title("SubDirectory File 1.txt");
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
- // Check the content of parsed ResourceEntryMap.
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kMovedId));
- EXPECT_TRUE(entry_map.count(kSrcId));
- EXPECT_EQ(kRootId, parent_resource_id_map[kMovedId]);
+ change_lists[0]->set_largest_changestamp(16815);
// Apply the changelist and check the effect.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJson), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
- // The value is written in kTestJson.
EXPECT_EQ(16815, metadata_->GetLargestChangestamp());
EXPECT_FALSE(GetResourceEntry(
"drive/root/Directory 1/SubDirectory File 1.txt"));
@@ -312,93 +303,70 @@ TEST_F(ChangeListProcessorTest, DeltaFileMovedFromDirectoryToRoot) {
}
TEST_F(ChangeListProcessorTest, DeltaFileRenamedInDirectory) {
- const char kTestJson[] =
- "gdata/delta_file_renamed_in_directory.json";
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
- ConvertToMap(ParseChangeList(kTestJson), &entry_map, &parent_resource_id_map);
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
- const std::string kRenamedId("file:subdirectory_file_1_id");
- const std::string kParentId("folder:1_folder_resource_id");
+ ResourceEntry entry;
+ entry.set_resource_id("file:subdirectory_file_1_id");
+ entry.set_title("New SubDirectory File 1.txt");
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:1_folder_resource_id");
- // Check the content of parsed ResourceEntryMap.
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kRenamedId));
- EXPECT_TRUE(entry_map.count(kParentId));
- EXPECT_EQ(kParentId, parent_resource_id_map[kRenamedId]);
- EXPECT_EQ("New SubDirectory File 1.txt", entry_map[kRenamedId].title());
+ change_lists[0]->set_largest_changestamp(16767);
// Apply the changelist and check the effect.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJson), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
- // The value is written in kTestJson.
EXPECT_EQ(16767, metadata_->GetLargestChangestamp());
EXPECT_FALSE(GetResourceEntry(
"drive/root/Directory 1/SubDirectory File 1.txt"));
EXPECT_TRUE(GetResourceEntry(
"drive/root/Directory 1/New SubDirectory File 1.txt"));
- EXPECT_EQ(2U, changed_dirs.size());
- EXPECT_TRUE(changed_dirs.count(
- base::FilePath::FromUTF8Unsafe("drive/root")));
+ EXPECT_EQ(1U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
base::FilePath::FromUTF8Unsafe("drive/root/Directory 1")));
}
TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) {
- const char kTestJsonAdd[] =
- "gdata/delta_file_added_in_root.json";
- const char kTestJsonDelete[] =
- "gdata/delta_file_deleted_in_root.json";
-
- const std::string kParentId(kRootId);
- const std::string kFileId("document:added_in_root_id");
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
-
- // Check the content of kTestJsonAdd.
- ConvertToMap(ParseChangeList(kTestJsonAdd),
- &entry_map, &parent_resource_id_map);
- EXPECT_EQ(1U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kFileId));
- EXPECT_EQ(kParentId, parent_resource_id_map[kFileId]);
- EXPECT_EQ("Added file", entry_map[kFileId].title());
- EXPECT_FALSE(entry_map[kFileId].deleted());
+ // Create ChangeList to add a file.
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
+
+ ResourceEntry entry;
+ entry.set_resource_id("document:added_in_root_id");
+ entry.set_title("Added file.txt");
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ change_lists[0]->set_largest_changestamp(16683);
// Apply.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJsonAdd), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
EXPECT_EQ(16683, metadata_->GetLargestChangestamp());
- EXPECT_TRUE(GetResourceEntry("drive/root/Added file.gdoc"));
+ EXPECT_TRUE(GetResourceEntry("drive/root/Added file.txt"));
EXPECT_EQ(1U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
base::FilePath::FromUTF8Unsafe("drive/root")));
- // Check the content of kTestJsonDelete.
- entry_map.clear();
- parent_resource_id_map.clear();
- ConvertToMap(ParseChangeList(kTestJsonDelete),
- &entry_map, &parent_resource_id_map);
- EXPECT_EQ(1U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kFileId));
- EXPECT_EQ(kParentId, parent_resource_id_map[kFileId]);
- EXPECT_EQ("Added file", entry_map[kFileId].title());
- EXPECT_TRUE(entry_map[kFileId].deleted());
+ // Create ChangeList to delete the file.
+ change_lists.push_back(new ChangeList);
+
+ entry.set_deleted(true);
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
+
+ change_lists[0]->set_largest_changestamp(16687);
// Apply.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJsonDelete), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
EXPECT_EQ(16687, metadata_->GetLargestChangestamp());
- EXPECT_FALSE(GetResourceEntry("drive/root/Added file.gdoc"));
+ EXPECT_FALSE(GetResourceEntry("drive/root/Added file.txt"));
EXPECT_EQ(1U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
base::FilePath::FromUTF8Unsafe("drive/root")));
@@ -406,58 +374,44 @@ TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) {
TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) {
- const char kTestJsonAdd[] =
- "gdata/delta_file_added_in_directory.json";
- const char kTestJsonDelete[] =
- "gdata/delta_file_deleted_in_directory.json";
-
- const std::string kParentId("folder:1_folder_resource_id");
- const std::string kFileId("document:added_in_root_id");
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
-
- // Check the content of kTestJsonAdd.
- ConvertToMap(ParseChangeList(kTestJsonAdd),
- &entry_map, &parent_resource_id_map);
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kFileId));
- EXPECT_TRUE(entry_map.count(kParentId));
- EXPECT_EQ(kParentId, parent_resource_id_map[kFileId]);
- EXPECT_EQ("Added file", entry_map[kFileId].title());
- EXPECT_FALSE(entry_map[kFileId].deleted());
+ // Create ChangeList to add a file.
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
+
+ ResourceEntry entry;
+ entry.set_resource_id("document:added_in_root_id");
+ entry.set_title("Added file.txt");
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:1_folder_resource_id");
+
+ change_lists[0]->set_largest_changestamp(16730);
// Apply.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJsonAdd), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
EXPECT_EQ(16730, metadata_->GetLargestChangestamp());
- EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.gdoc"));
+ EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.txt"));
- EXPECT_EQ(2U, changed_dirs.size());
- EXPECT_TRUE(changed_dirs.count(
- base::FilePath::FromUTF8Unsafe("drive/root")));
+ EXPECT_EQ(1U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
base::FilePath::FromUTF8Unsafe("drive/root/Directory 1")));
- // Check the content of kTestJsonDelete.
- entry_map.clear();
- parent_resource_id_map.clear();
- ConvertToMap(ParseChangeList(kTestJsonDelete),
- &entry_map, &parent_resource_id_map);
- EXPECT_EQ(1U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kFileId));
- EXPECT_EQ(kParentId, parent_resource_id_map[kFileId]);
- EXPECT_EQ("Added file", entry_map[kFileId].title());
- EXPECT_TRUE(entry_map[kFileId].deleted());
+ // Create ChangeList to delete the file.
+ change_lists.push_back(new ChangeList);
+
+ entry.set_deleted(true);
+ change_lists[0]->mutable_entries()->push_back(entry);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:1_folder_resource_id");
+
+ change_lists[0]->set_largest_changestamp(16770);
// Apply.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJsonDelete), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
EXPECT_EQ(16770, metadata_->GetLargestChangestamp());
- EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.gdoc"));
+ EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.txt"));
EXPECT_EQ(1U, changed_dirs.size());
EXPECT_TRUE(changed_dirs.count(
@@ -465,35 +419,36 @@ TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) {
}
TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) {
- // This file contains the following updates:
+ // Create a change which contains the following updates:
// 1) A new PDF file is added to a new directory
// 2) but the new directory is marked "deleted" (i.e. moved to Trash)
// Hence, the PDF file should be just ignored.
- const char kTestJson[] =
- "gdata/delta_file_added_in_new_but_deleted_directory.json";
-
- ResourceEntryMap entry_map;
- ParentResourceIdMap parent_resource_id_map;
- ConvertToMap(ParseChangeList(kTestJson), &entry_map, &parent_resource_id_map);
+ ScopedVector<ChangeList> change_lists;
+ change_lists.push_back(new ChangeList);
- const std::string kDirId("folder:new_folder_resource_id");
- const std::string kFileId("pdf:file_added_in_deleted_dir_id");
+ ResourceEntry file;
+ file.set_resource_id("pdf:file_added_in_deleted_id");
+ file.set_title("new_pdf_file.pdf");
+ file.set_deleted(true);
+ change_lists[0]->mutable_entries()->push_back(file);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(
+ "folder:new_folder_resource_id");
+
+ ResourceEntry directory;
+ directory.set_resource_id("folder:new_folder_resource_id");
+ directory.set_title("New Directory");
+ directory.mutable_file_info()->set_is_directory(true);
+ directory.set_deleted(true);
+ change_lists[0]->mutable_entries()->push_back(directory);
+ change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
- // Check the content of parsed ResourceEntryMap.
- EXPECT_EQ(2U, entry_map.size());
- EXPECT_TRUE(entry_map.count(kDirId));
- EXPECT_TRUE(entry_map.count(kFileId));
- EXPECT_EQ(kDirId, parent_resource_id_map[kFileId]);
- EXPECT_TRUE(entry_map[kDirId].deleted());
+ change_lists[0]->set_largest_changestamp(16730);
// Apply the changelist and check the effect.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
std::set<base::FilePath> changed_dirs;
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyChangeList(ParseChangeList(kTestJson), &changed_dirs));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs));
- // The value is written in kTestJson.
EXPECT_EQ(16730, metadata_->GetLargestChangestamp());
EXPECT_FALSE(GetResourceEntry("drive/root/New Directory/new_pdf_file.pdf"));
@@ -502,8 +457,7 @@ TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) {
TEST_F(ChangeListProcessorTest, RefreshDirectory) {
// Prepare metadata.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
// Create change list.
scoped_ptr<ChangeList> change_list(new ChangeList);
@@ -547,8 +501,7 @@ TEST_F(ChangeListProcessorTest, RefreshDirectory) {
TEST_F(ChangeListProcessorTest, RefreshDirectory_WrongParentId) {
// Prepare metadata.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
// Create change list and add a new file to it.
scoped_ptr<ChangeList> change_list(new ChangeList);
@@ -581,8 +534,7 @@ TEST_F(ChangeListProcessorTest, RefreshDirectory_WrongParentId) {
TEST_F(ChangeListProcessorTest, SharedFilesWithNoParentInFeed) {
// Prepare metadata.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
// Create change lists.
ScopedVector<ChangeList> change_lists;
@@ -607,8 +559,7 @@ TEST_F(ChangeListProcessorTest, SharedFilesWithNoParentInFeed) {
TEST_F(ChangeListProcessorTest, ModificationDate) {
// Prepare metadata.
- EXPECT_EQ(FILE_ERROR_OK,
- ApplyFullResourceList(ParseChangeList(kBaseResourceListFile)));
+ EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
// Create change lists with a new file.
ScopedVector<ChangeList> change_lists;
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/file_system/copy_operation_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698