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

Side by Side Diff: chrome/browser/chromeos/drive/change_list_processor_unittest.cc

Issue 439713003: Drop prefixes from test data resource IDs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/fake_file_system_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/drive/change_list_processor.h" 5 #include "chrome/browser/chromeos/drive/change_list_processor.h"
6 6
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/message_loop/message_loop_proxy.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/chromeos/drive/drive.pb.h" 10 #include "chrome/browser/chromeos/drive/drive.pb.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // Returns a basic change list which contains some files and directories. 42 // Returns a basic change list which contains some files and directories.
43 ScopedVector<ChangeList> CreateBaseChangeList() { 43 ScopedVector<ChangeList> CreateBaseChangeList() {
44 ScopedVector<ChangeList> change_lists; 44 ScopedVector<ChangeList> change_lists;
45 change_lists.push_back(new ChangeList); 45 change_lists.push_back(new ChangeList);
46 46
47 // Add directories to the change list. 47 // Add directories to the change list.
48 ResourceEntry directory; 48 ResourceEntry directory;
49 directory.mutable_file_info()->set_is_directory(true); 49 directory.mutable_file_info()->set_is_directory(true);
50 50
51 directory.set_title("Directory 1"); 51 directory.set_title("Directory 1");
52 directory.set_resource_id("folder:1_folder_resource_id"); 52 directory.set_resource_id("1_folder_resource_id");
53 change_lists[0]->mutable_entries()->push_back(directory); 53 change_lists[0]->mutable_entries()->push_back(directory);
54 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 54 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
55 55
56 directory.set_title("Sub Directory Folder"); 56 directory.set_title("Sub Directory Folder");
57 directory.set_resource_id("folder:sub_dir_folder_resource_id"); 57 directory.set_resource_id("sub_dir_folder_resource_id");
58 change_lists[0]->mutable_entries()->push_back(directory); 58 change_lists[0]->mutable_entries()->push_back(directory);
59 change_lists[0]->mutable_parent_resource_ids()->push_back( 59 change_lists[0]->mutable_parent_resource_ids()->push_back(
60 "folder:1_folder_resource_id"); 60 "1_folder_resource_id");
61 61
62 directory.set_title("Sub Sub Directory Folder"); 62 directory.set_title("Sub Sub Directory Folder");
63 directory.set_resource_id("folder:sub_sub_directory_folder_id"); 63 directory.set_resource_id("sub_sub_directory_folder_id");
64 change_lists[0]->mutable_entries()->push_back(directory); 64 change_lists[0]->mutable_entries()->push_back(directory);
65 change_lists[0]->mutable_parent_resource_ids()->push_back( 65 change_lists[0]->mutable_parent_resource_ids()->push_back(
66 "folder:sub_dir_folder_resource_id"); 66 "sub_dir_folder_resource_id");
67 67
68 directory.set_title("Directory 2 excludeDir-test"); 68 directory.set_title("Directory 2 excludeDir-test");
69 directory.set_resource_id("folder:sub_dir_folder_2_self_link"); 69 directory.set_resource_id("sub_dir_folder_2_self_link");
70 change_lists[0]->mutable_entries()->push_back(directory); 70 change_lists[0]->mutable_entries()->push_back(directory);
71 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 71 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
72 72
73 // Add files to the change list. 73 // Add files to the change list.
74 ResourceEntry file; 74 ResourceEntry file;
75 75
76 file.set_title("File 1.txt"); 76 file.set_title("File 1.txt");
77 file.set_resource_id("file:2_file_resource_id"); 77 file.set_resource_id("2_file_resource_id");
78 change_lists[0]->mutable_entries()->push_back(file); 78 change_lists[0]->mutable_entries()->push_back(file);
79 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 79 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
80 80
81 file.set_title("SubDirectory File 1.txt"); 81 file.set_title("SubDirectory File 1.txt");
82 file.set_resource_id("file:subdirectory_file_1_id"); 82 file.set_resource_id("subdirectory_file_1_id");
83 change_lists[0]->mutable_entries()->push_back(file); 83 change_lists[0]->mutable_entries()->push_back(file);
84 change_lists[0]->mutable_parent_resource_ids()->push_back( 84 change_lists[0]->mutable_parent_resource_ids()->push_back(
85 "folder:1_folder_resource_id"); 85 "1_folder_resource_id");
86 86
87 file.set_title("Orphan File 1.txt"); 87 file.set_title("Orphan File 1.txt");
88 file.set_resource_id("file:1_orphanfile_resource_id"); 88 file.set_resource_id("1_orphanfile_resource_id");
89 change_lists[0]->mutable_entries()->push_back(file); 89 change_lists[0]->mutable_entries()->push_back(file);
90 change_lists[0]->mutable_parent_resource_ids()->push_back(""); 90 change_lists[0]->mutable_parent_resource_ids()->push_back("");
91 91
92 change_lists[0]->set_largest_changestamp(kBaseResourceListChangestamp); 92 change_lists[0]->set_largest_changestamp(kBaseResourceListChangestamp);
93 return change_lists.Pass(); 93 return change_lists.Pass();
94 } 94 }
95 95
96 class ChangeListProcessorTest : public testing::Test { 96 class ChangeListProcessorTest : public testing::Test {
97 protected: 97 protected:
98 virtual void SetUp() OVERRIDE { 98 virtual void SetUp() OVERRIDE {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 168
169 } // namespace 169 } // namespace
170 170
171 TEST_F(ChangeListProcessorTest, ApplyFullResourceList) { 171 TEST_F(ChangeListProcessorTest, ApplyFullResourceList) {
172 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 172 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
173 173
174 const EntryExpectation kExpected[] = { 174 const EntryExpectation kExpected[] = {
175 // Root files 175 // Root files
176 {"drive/root", kRootId, "", DIRECTORY}, 176 {"drive/root", kRootId, "", DIRECTORY},
177 {"drive/root/File 1.txt", 177 {"drive/root/File 1.txt",
178 "file:2_file_resource_id", kRootId, FILE}, 178 "2_file_resource_id", kRootId, FILE},
179 // Subdirectory files 179 // Subdirectory files
180 {"drive/root/Directory 1", 180 {"drive/root/Directory 1",
181 "folder:1_folder_resource_id", kRootId, DIRECTORY}, 181 "1_folder_resource_id", kRootId, DIRECTORY},
182 {"drive/root/Directory 1/SubDirectory File 1.txt", 182 {"drive/root/Directory 1/SubDirectory File 1.txt",
183 "file:subdirectory_file_1_id", "folder:1_folder_resource_id", FILE}, 183 "subdirectory_file_1_id", "1_folder_resource_id", FILE},
184 {"drive/root/Directory 2 excludeDir-test", 184 {"drive/root/Directory 2 excludeDir-test",
185 "folder:sub_dir_folder_2_self_link", kRootId, DIRECTORY}, 185 "sub_dir_folder_2_self_link", kRootId, DIRECTORY},
186 // Deeper 186 // Deeper
187 {"drive/root/Directory 1/Sub Directory Folder", 187 {"drive/root/Directory 1/Sub Directory Folder",
188 "folder:sub_dir_folder_resource_id", 188 "sub_dir_folder_resource_id",
189 "folder:1_folder_resource_id", DIRECTORY}, 189 "1_folder_resource_id", DIRECTORY},
190 {"drive/root/Directory 1/Sub Directory Folder/Sub Sub Directory Folder", 190 {"drive/root/Directory 1/Sub Directory Folder/Sub Sub Directory Folder",
191 "folder:sub_sub_directory_folder_id", 191 "sub_sub_directory_folder_id",
192 "folder:sub_dir_folder_resource_id", DIRECTORY}, 192 "sub_dir_folder_resource_id", DIRECTORY},
193 // Orphan 193 // Orphan
194 {"drive/other/Orphan File 1.txt", "file:1_orphanfile_resource_id", 194 {"drive/other/Orphan File 1.txt", "1_orphanfile_resource_id",
195 "", FILE}, 195 "", FILE},
196 }; 196 };
197 197
198 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kExpected); ++i) { 198 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kExpected); ++i) {
199 scoped_ptr<ResourceEntry> entry = GetResourceEntry(kExpected[i].path); 199 scoped_ptr<ResourceEntry> entry = GetResourceEntry(kExpected[i].path);
200 ASSERT_TRUE(entry) << "for path: " << kExpected[i].path; 200 ASSERT_TRUE(entry) << "for path: " << kExpected[i].path;
201 EXPECT_EQ(kExpected[i].id, entry->resource_id()); 201 EXPECT_EQ(kExpected[i].id, entry->resource_id());
202 202
203 ResourceEntry parent_entry; 203 ResourceEntry parent_entry;
204 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById( 204 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById(
205 entry->parent_local_id(), &parent_entry)); 205 entry->parent_local_id(), &parent_entry));
206 EXPECT_EQ(kExpected[i].parent_id, parent_entry.resource_id()); 206 EXPECT_EQ(kExpected[i].parent_id, parent_entry.resource_id());
207 EXPECT_EQ(kExpected[i].type, 207 EXPECT_EQ(kExpected[i].type,
208 entry->file_info().is_directory() ? DIRECTORY : FILE); 208 entry->file_info().is_directory() ? DIRECTORY : FILE);
209 } 209 }
210 210
211 int64 changestamp = 0; 211 int64 changestamp = 0;
212 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); 212 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp));
213 EXPECT_EQ(kBaseResourceListChangestamp, changestamp); 213 EXPECT_EQ(kBaseResourceListChangestamp, changestamp);
214 } 214 }
215 215
216 TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) { 216 TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) {
217 ScopedVector<ChangeList> change_lists; 217 ScopedVector<ChangeList> change_lists;
218 change_lists.push_back(new ChangeList); 218 change_lists.push_back(new ChangeList);
219 219
220 ResourceEntry new_folder; 220 ResourceEntry new_folder;
221 new_folder.set_resource_id("folder:new_folder_resource_id"); 221 new_folder.set_resource_id("new_folder_resource_id");
222 new_folder.set_title("New Directory"); 222 new_folder.set_title("New Directory");
223 new_folder.mutable_file_info()->set_is_directory(true); 223 new_folder.mutable_file_info()->set_is_directory(true);
224 change_lists[0]->mutable_entries()->push_back(new_folder); 224 change_lists[0]->mutable_entries()->push_back(new_folder);
225 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 225 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
226 226
227 ResourceEntry new_file; 227 ResourceEntry new_file;
228 new_file.set_resource_id("document:file_added_in_new_dir_id"); 228 new_file.set_resource_id("file_added_in_new_dir_id");
229 new_file.set_title("File in new dir.txt"); 229 new_file.set_title("File in new dir.txt");
230 change_lists[0]->mutable_entries()->push_back(new_file); 230 change_lists[0]->mutable_entries()->push_back(new_file);
231 change_lists[0]->mutable_parent_resource_ids()->push_back( 231 change_lists[0]->mutable_parent_resource_ids()->push_back(
232 new_folder.resource_id()); 232 new_folder.resource_id());
233 233
234 change_lists[0]->set_largest_changestamp(16730); 234 change_lists[0]->set_largest_changestamp(16730);
235 235
236 // Apply the changelist and check the effect. 236 // Apply the changelist and check the effect.
237 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 237 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
238 238
(...skipping 13 matching lines...) Expand all
252 "drive/root/New Directory/File in new dir.txt"))); 252 "drive/root/New Directory/File in new dir.txt")));
253 EXPECT_TRUE(changed_files.count( 253 EXPECT_TRUE(changed_files.count(
254 base::FilePath::FromUTF8Unsafe("drive/root/New Directory"))); 254 base::FilePath::FromUTF8Unsafe("drive/root/New Directory")));
255 } 255 }
256 256
257 TEST_F(ChangeListProcessorTest, DeltaDirMovedFromRootToDirectory) { 257 TEST_F(ChangeListProcessorTest, DeltaDirMovedFromRootToDirectory) {
258 ScopedVector<ChangeList> change_lists; 258 ScopedVector<ChangeList> change_lists;
259 change_lists.push_back(new ChangeList); 259 change_lists.push_back(new ChangeList);
260 260
261 ResourceEntry entry; 261 ResourceEntry entry;
262 entry.set_resource_id("folder:1_folder_resource_id"); 262 entry.set_resource_id("1_folder_resource_id");
263 entry.set_title("Directory 1"); 263 entry.set_title("Directory 1");
264 entry.mutable_file_info()->set_is_directory(true); 264 entry.mutable_file_info()->set_is_directory(true);
265 change_lists[0]->mutable_entries()->push_back(entry); 265 change_lists[0]->mutable_entries()->push_back(entry);
266 change_lists[0]->mutable_parent_resource_ids()->push_back( 266 change_lists[0]->mutable_parent_resource_ids()->push_back(
267 "folder:sub_dir_folder_2_self_link"); 267 "sub_dir_folder_2_self_link");
268 268
269 change_lists[0]->set_largest_changestamp(16809); 269 change_lists[0]->set_largest_changestamp(16809);
270 270
271 // Apply the changelist and check the effect. 271 // Apply the changelist and check the effect.
272 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 272 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
273 273
274 FileChange changed_files; 274 FileChange changed_files;
275 EXPECT_EQ(FILE_ERROR_OK, 275 EXPECT_EQ(FILE_ERROR_OK,
276 ApplyChangeList(change_lists.Pass(), &changed_files)); 276 ApplyChangeList(change_lists.Pass(), &changed_files));
277 277
(...skipping 13 matching lines...) Expand all
291 "drive/root/Directory 2 excludeDir-test"))); 291 "drive/root/Directory 2 excludeDir-test")));
292 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe( 292 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe(
293 "drive/root/Directory 2 excludeDir-test/Directory 1"))); 293 "drive/root/Directory 2 excludeDir-test/Directory 1")));
294 } 294 }
295 295
296 TEST_F(ChangeListProcessorTest, DeltaFileMovedFromDirectoryToRoot) { 296 TEST_F(ChangeListProcessorTest, DeltaFileMovedFromDirectoryToRoot) {
297 ScopedVector<ChangeList> change_lists; 297 ScopedVector<ChangeList> change_lists;
298 change_lists.push_back(new ChangeList); 298 change_lists.push_back(new ChangeList);
299 299
300 ResourceEntry entry; 300 ResourceEntry entry;
301 entry.set_resource_id("file:subdirectory_file_1_id"); 301 entry.set_resource_id("subdirectory_file_1_id");
302 entry.set_title("SubDirectory File 1.txt"); 302 entry.set_title("SubDirectory File 1.txt");
303 change_lists[0]->mutable_entries()->push_back(entry); 303 change_lists[0]->mutable_entries()->push_back(entry);
304 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 304 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
305 305
306 change_lists[0]->set_largest_changestamp(16815); 306 change_lists[0]->set_largest_changestamp(16815);
307 307
308 // Apply the changelist and check the effect. 308 // Apply the changelist and check the effect.
309 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 309 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
310 FileChange changed_files; 310 FileChange changed_files;
311 EXPECT_EQ(FILE_ERROR_OK, 311 EXPECT_EQ(FILE_ERROR_OK,
(...skipping 11 matching lines...) Expand all
323 base::FilePath::FromUTF8Unsafe("drive/root/SubDirectory File 1.txt"))); 323 base::FilePath::FromUTF8Unsafe("drive/root/SubDirectory File 1.txt")));
324 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe( 324 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe(
325 "drive/root/Directory 1/SubDirectory File 1.txt"))); 325 "drive/root/Directory 1/SubDirectory File 1.txt")));
326 } 326 }
327 327
328 TEST_F(ChangeListProcessorTest, DeltaFileRenamedInDirectory) { 328 TEST_F(ChangeListProcessorTest, DeltaFileRenamedInDirectory) {
329 ScopedVector<ChangeList> change_lists; 329 ScopedVector<ChangeList> change_lists;
330 change_lists.push_back(new ChangeList); 330 change_lists.push_back(new ChangeList);
331 331
332 ResourceEntry entry; 332 ResourceEntry entry;
333 entry.set_resource_id("file:subdirectory_file_1_id"); 333 entry.set_resource_id("subdirectory_file_1_id");
334 entry.set_title("New SubDirectory File 1.txt"); 334 entry.set_title("New SubDirectory File 1.txt");
335 change_lists[0]->mutable_entries()->push_back(entry); 335 change_lists[0]->mutable_entries()->push_back(entry);
336 change_lists[0]->mutable_parent_resource_ids()->push_back( 336 change_lists[0]->mutable_parent_resource_ids()->push_back(
337 "folder:1_folder_resource_id"); 337 "1_folder_resource_id");
338 338
339 change_lists[0]->set_largest_changestamp(16767); 339 change_lists[0]->set_largest_changestamp(16767);
340 340
341 // Apply the changelist and check the effect. 341 // Apply the changelist and check the effect.
342 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 342 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
343 FileChange changed_files; 343 FileChange changed_files;
344 EXPECT_EQ(FILE_ERROR_OK, 344 EXPECT_EQ(FILE_ERROR_OK,
345 ApplyChangeList(change_lists.Pass(), &changed_files)); 345 ApplyChangeList(change_lists.Pass(), &changed_files));
346 346
347 int64 changestamp = 0; 347 int64 changestamp = 0;
(...skipping 10 matching lines...) Expand all
358 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe( 358 EXPECT_TRUE(changed_files.count(base::FilePath::FromUTF8Unsafe(
359 "drive/root/Directory 1/New SubDirectory File 1.txt"))); 359 "drive/root/Directory 1/New SubDirectory File 1.txt")));
360 } 360 }
361 361
362 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) { 362 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) {
363 // Create ChangeList to add a file. 363 // Create ChangeList to add a file.
364 ScopedVector<ChangeList> change_lists; 364 ScopedVector<ChangeList> change_lists;
365 change_lists.push_back(new ChangeList); 365 change_lists.push_back(new ChangeList);
366 366
367 ResourceEntry entry; 367 ResourceEntry entry;
368 entry.set_resource_id("document:added_in_root_id"); 368 entry.set_resource_id("added_in_root_id");
369 entry.set_title("Added file.txt"); 369 entry.set_title("Added file.txt");
370 change_lists[0]->mutable_entries()->push_back(entry); 370 change_lists[0]->mutable_entries()->push_back(entry);
371 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 371 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
372 372
373 change_lists[0]->set_largest_changestamp(16683); 373 change_lists[0]->set_largest_changestamp(16683);
374 374
375 // Apply. 375 // Apply.
376 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 376 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
377 FileChange changed_files; 377 FileChange changed_files;
378 EXPECT_EQ(FILE_ERROR_OK, 378 EXPECT_EQ(FILE_ERROR_OK,
(...skipping 27 matching lines...) Expand all
406 base::FilePath::FromUTF8Unsafe("drive/root/Added file.txt"))); 406 base::FilePath::FromUTF8Unsafe("drive/root/Added file.txt")));
407 } 407 }
408 408
409 409
410 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) { 410 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) {
411 // Create ChangeList to add a file. 411 // Create ChangeList to add a file.
412 ScopedVector<ChangeList> change_lists; 412 ScopedVector<ChangeList> change_lists;
413 change_lists.push_back(new ChangeList); 413 change_lists.push_back(new ChangeList);
414 414
415 ResourceEntry entry; 415 ResourceEntry entry;
416 entry.set_resource_id("document:added_in_root_id"); 416 entry.set_resource_id("added_in_root_id");
417 entry.set_title("Added file.txt"); 417 entry.set_title("Added file.txt");
418 change_lists[0]->mutable_entries()->push_back(entry); 418 change_lists[0]->mutable_entries()->push_back(entry);
419 change_lists[0]->mutable_parent_resource_ids()->push_back( 419 change_lists[0]->mutable_parent_resource_ids()->push_back(
420 "folder:1_folder_resource_id"); 420 "1_folder_resource_id");
421 421
422 change_lists[0]->set_largest_changestamp(16730); 422 change_lists[0]->set_largest_changestamp(16730);
423 423
424 // Apply. 424 // Apply.
425 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 425 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
426 FileChange changed_files; 426 FileChange changed_files;
427 EXPECT_EQ(FILE_ERROR_OK, 427 EXPECT_EQ(FILE_ERROR_OK,
428 ApplyChangeList(change_lists.Pass(), &changed_files)); 428 ApplyChangeList(change_lists.Pass(), &changed_files));
429 int64 changestamp = 0; 429 int64 changestamp = 0;
430 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); 430 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp));
431 EXPECT_EQ(16730, changestamp); 431 EXPECT_EQ(16730, changestamp);
432 EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); 432 EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.txt"));
433 433
434 EXPECT_EQ(1U, changed_files.size()); 434 EXPECT_EQ(1U, changed_files.size());
435 EXPECT_TRUE(changed_files.count( 435 EXPECT_TRUE(changed_files.count(
436 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1/Added file.txt"))); 436 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1/Added file.txt")));
437 437
438 // Create ChangeList to delete the file. 438 // Create ChangeList to delete the file.
439 change_lists.push_back(new ChangeList); 439 change_lists.push_back(new ChangeList);
440 440
441 entry.set_deleted(true); 441 entry.set_deleted(true);
442 change_lists[0]->mutable_entries()->push_back(entry); 442 change_lists[0]->mutable_entries()->push_back(entry);
443 change_lists[0]->mutable_parent_resource_ids()->push_back( 443 change_lists[0]->mutable_parent_resource_ids()->push_back(
444 "folder:1_folder_resource_id"); 444 "1_folder_resource_id");
445 445
446 change_lists[0]->set_largest_changestamp(16770); 446 change_lists[0]->set_largest_changestamp(16770);
447 447
448 // Apply. 448 // Apply.
449 EXPECT_EQ(FILE_ERROR_OK, 449 EXPECT_EQ(FILE_ERROR_OK,
450 ApplyChangeList(change_lists.Pass(), &changed_files)); 450 ApplyChangeList(change_lists.Pass(), &changed_files));
451 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); 451 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp));
452 EXPECT_EQ(16770, changestamp); 452 EXPECT_EQ(16770, changestamp);
453 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); 453 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.txt"));
454 454
455 EXPECT_EQ(1U, changed_files.size()); 455 EXPECT_EQ(1U, changed_files.size());
456 EXPECT_TRUE(changed_files.count( 456 EXPECT_TRUE(changed_files.count(
457 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1/Added file.txt"))); 457 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1/Added file.txt")));
458 } 458 }
459 459
460 TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) { 460 TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) {
461 // Create a change which contains the following updates: 461 // Create a change which contains the following updates:
462 // 1) A new PDF file is added to a new directory 462 // 1) A new PDF file is added to a new directory
463 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) 463 // 2) but the new directory is marked "deleted" (i.e. moved to Trash)
464 // Hence, the PDF file should be just ignored. 464 // Hence, the PDF file should be just ignored.
465 ScopedVector<ChangeList> change_lists; 465 ScopedVector<ChangeList> change_lists;
466 change_lists.push_back(new ChangeList); 466 change_lists.push_back(new ChangeList);
467 467
468 ResourceEntry file; 468 ResourceEntry file;
469 file.set_resource_id("pdf:file_added_in_deleted_id"); 469 file.set_resource_id("file_added_in_deleted_id");
470 file.set_title("new_pdf_file.pdf"); 470 file.set_title("new_pdf_file.pdf");
471 file.set_deleted(true); 471 file.set_deleted(true);
472 change_lists[0]->mutable_entries()->push_back(file); 472 change_lists[0]->mutable_entries()->push_back(file);
473 change_lists[0]->mutable_parent_resource_ids()->push_back( 473 change_lists[0]->mutable_parent_resource_ids()->push_back(
474 "folder:new_folder_resource_id"); 474 "new_folder_resource_id");
475 475
476 ResourceEntry directory; 476 ResourceEntry directory;
477 directory.set_resource_id("folder:new_folder_resource_id"); 477 directory.set_resource_id("new_folder_resource_id");
478 directory.set_title("New Directory"); 478 directory.set_title("New Directory");
479 directory.mutable_file_info()->set_is_directory(true); 479 directory.mutable_file_info()->set_is_directory(true);
480 directory.set_deleted(true); 480 directory.set_deleted(true);
481 change_lists[0]->mutable_entries()->push_back(directory); 481 change_lists[0]->mutable_entries()->push_back(directory);
482 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); 482 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId);
483 483
484 change_lists[0]->set_largest_changestamp(16730); 484 change_lists[0]->set_largest_changestamp(16730);
485 485
486 // Apply the changelist and check the effect. 486 // Apply the changelist and check the effect.
487 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); 487 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList()));
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 ApplyChangeList(change_lists.Pass(), &changed_files)); 640 ApplyChangeList(change_lists.Pass(), &changed_files));
641 641
642 // The change is rejected due to the old modification date. 642 // The change is rejected due to the old modification date.
643 ResourceEntry entry; 643 ResourceEntry entry;
644 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById(local_id, &entry)); 644 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById(local_id, &entry));
645 EXPECT_EQ(new_file_local.title(), entry.title()); 645 EXPECT_EQ(new_file_local.title(), entry.title());
646 } 646 }
647 647
648 } // namespace internal 648 } // namespace internal
649 } // namespace drive 649 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/drive/fake_file_system_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698