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/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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 EXPECT_EQ(kExpected[i].id, entry->resource_id()); | 189 EXPECT_EQ(kExpected[i].id, entry->resource_id()); |
190 | 190 |
191 ResourceEntry parent_entry; | 191 ResourceEntry parent_entry; |
192 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById( | 192 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById( |
193 entry->parent_local_id(), &parent_entry)); | 193 entry->parent_local_id(), &parent_entry)); |
194 EXPECT_EQ(kExpected[i].parent_id, parent_entry.resource_id()); | 194 EXPECT_EQ(kExpected[i].parent_id, parent_entry.resource_id()); |
195 EXPECT_EQ(kExpected[i].type, | 195 EXPECT_EQ(kExpected[i].type, |
196 entry->file_info().is_directory() ? DIRECTORY : FILE); | 196 entry->file_info().is_directory() ? DIRECTORY : FILE); |
197 } | 197 } |
198 | 198 |
199 EXPECT_EQ(kBaseResourceListChangestamp, metadata_->GetLargestChangestamp()); | 199 int64 changestamp = 0; |
| 200 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 201 EXPECT_EQ(kBaseResourceListChangestamp, changestamp); |
200 } | 202 } |
201 | 203 |
202 TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) { | 204 TEST_F(ChangeListProcessorTest, DeltaFileAddedInNewDirectory) { |
203 ScopedVector<ChangeList> change_lists; | 205 ScopedVector<ChangeList> change_lists; |
204 change_lists.push_back(new ChangeList); | 206 change_lists.push_back(new ChangeList); |
205 | 207 |
206 ResourceEntry new_folder; | 208 ResourceEntry new_folder; |
207 new_folder.set_resource_id("folder:new_folder_resource_id"); | 209 new_folder.set_resource_id("folder:new_folder_resource_id"); |
208 new_folder.set_title("New Directory"); | 210 new_folder.set_title("New Directory"); |
209 new_folder.mutable_file_info()->set_is_directory(true); | 211 new_folder.mutable_file_info()->set_is_directory(true); |
210 change_lists[0]->mutable_entries()->push_back(new_folder); | 212 change_lists[0]->mutable_entries()->push_back(new_folder); |
211 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); | 213 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); |
212 | 214 |
213 ResourceEntry new_file; | 215 ResourceEntry new_file; |
214 new_file.set_resource_id("document:file_added_in_new_dir_id"); | 216 new_file.set_resource_id("document:file_added_in_new_dir_id"); |
215 new_file.set_title("File in new dir.txt"); | 217 new_file.set_title("File in new dir.txt"); |
216 change_lists[0]->mutable_entries()->push_back(new_file); | 218 change_lists[0]->mutable_entries()->push_back(new_file); |
217 change_lists[0]->mutable_parent_resource_ids()->push_back( | 219 change_lists[0]->mutable_parent_resource_ids()->push_back( |
218 new_folder.resource_id()); | 220 new_folder.resource_id()); |
219 | 221 |
220 change_lists[0]->set_largest_changestamp(16730); | 222 change_lists[0]->set_largest_changestamp(16730); |
221 | 223 |
222 // Apply the changelist and check the effect. | 224 // Apply the changelist and check the effect. |
223 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 225 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
224 std::set<base::FilePath> changed_dirs; | 226 std::set<base::FilePath> changed_dirs; |
225 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 227 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
226 | 228 |
227 EXPECT_EQ(16730, metadata_->GetLargestChangestamp()); | 229 int64 changestamp = 0; |
| 230 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 231 EXPECT_EQ(16730, changestamp); |
228 EXPECT_TRUE(GetResourceEntry("drive/root/New Directory")); | 232 EXPECT_TRUE(GetResourceEntry("drive/root/New Directory")); |
229 EXPECT_TRUE(GetResourceEntry( | 233 EXPECT_TRUE(GetResourceEntry( |
230 "drive/root/New Directory/File in new dir.txt")); | 234 "drive/root/New Directory/File in new dir.txt")); |
231 | 235 |
232 EXPECT_EQ(2U, changed_dirs.size()); | 236 EXPECT_EQ(2U, changed_dirs.size()); |
233 EXPECT_TRUE(changed_dirs.count( | 237 EXPECT_TRUE(changed_dirs.count( |
234 base::FilePath::FromUTF8Unsafe("drive/root"))); | 238 base::FilePath::FromUTF8Unsafe("drive/root"))); |
235 EXPECT_TRUE(changed_dirs.count( | 239 EXPECT_TRUE(changed_dirs.count( |
236 base::FilePath::FromUTF8Unsafe("drive/root/New Directory"))); | 240 base::FilePath::FromUTF8Unsafe("drive/root/New Directory"))); |
237 } | 241 } |
(...skipping 10 matching lines...) Expand all Loading... |
248 change_lists[0]->mutable_parent_resource_ids()->push_back( | 252 change_lists[0]->mutable_parent_resource_ids()->push_back( |
249 "folder:sub_dir_folder_2_self_link"); | 253 "folder:sub_dir_folder_2_self_link"); |
250 | 254 |
251 change_lists[0]->set_largest_changestamp(16809); | 255 change_lists[0]->set_largest_changestamp(16809); |
252 | 256 |
253 // Apply the changelist and check the effect. | 257 // Apply the changelist and check the effect. |
254 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 258 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
255 std::set<base::FilePath> changed_dirs; | 259 std::set<base::FilePath> changed_dirs; |
256 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 260 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
257 | 261 |
258 EXPECT_EQ(16809, metadata_->GetLargestChangestamp()); | 262 int64 changestamp = 0; |
| 263 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 264 EXPECT_EQ(16809, changestamp); |
259 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1")); | 265 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1")); |
260 EXPECT_TRUE(GetResourceEntry( | 266 EXPECT_TRUE(GetResourceEntry( |
261 "drive/root/Directory 2 excludeDir-test/Directory 1")); | 267 "drive/root/Directory 2 excludeDir-test/Directory 1")); |
262 | 268 |
263 EXPECT_EQ(4U, changed_dirs.size()); | 269 EXPECT_EQ(4U, changed_dirs.size()); |
264 EXPECT_TRUE(changed_dirs.count( | 270 EXPECT_TRUE(changed_dirs.count( |
265 base::FilePath::FromUTF8Unsafe("drive/root"))); | 271 base::FilePath::FromUTF8Unsafe("drive/root"))); |
266 EXPECT_TRUE(changed_dirs.count( | 272 EXPECT_TRUE(changed_dirs.count( |
267 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); | 273 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); |
268 EXPECT_TRUE(changed_dirs.count( | 274 EXPECT_TRUE(changed_dirs.count( |
(...skipping 14 matching lines...) Expand all Loading... |
283 change_lists[0]->mutable_entries()->push_back(entry); | 289 change_lists[0]->mutable_entries()->push_back(entry); |
284 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); | 290 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); |
285 | 291 |
286 change_lists[0]->set_largest_changestamp(16815); | 292 change_lists[0]->set_largest_changestamp(16815); |
287 | 293 |
288 // Apply the changelist and check the effect. | 294 // Apply the changelist and check the effect. |
289 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 295 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
290 std::set<base::FilePath> changed_dirs; | 296 std::set<base::FilePath> changed_dirs; |
291 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 297 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
292 | 298 |
293 EXPECT_EQ(16815, metadata_->GetLargestChangestamp()); | 299 int64 changestamp = 0; |
| 300 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 301 EXPECT_EQ(16815, changestamp); |
294 EXPECT_FALSE(GetResourceEntry( | 302 EXPECT_FALSE(GetResourceEntry( |
295 "drive/root/Directory 1/SubDirectory File 1.txt")); | 303 "drive/root/Directory 1/SubDirectory File 1.txt")); |
296 EXPECT_TRUE(GetResourceEntry("drive/root/SubDirectory File 1.txt")); | 304 EXPECT_TRUE(GetResourceEntry("drive/root/SubDirectory File 1.txt")); |
297 | 305 |
298 EXPECT_EQ(2U, changed_dirs.size()); | 306 EXPECT_EQ(2U, changed_dirs.size()); |
299 EXPECT_TRUE(changed_dirs.count( | 307 EXPECT_TRUE(changed_dirs.count( |
300 base::FilePath::FromUTF8Unsafe("drive/root"))); | 308 base::FilePath::FromUTF8Unsafe("drive/root"))); |
301 EXPECT_TRUE(changed_dirs.count( | 309 EXPECT_TRUE(changed_dirs.count( |
302 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); | 310 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); |
303 } | 311 } |
304 | 312 |
305 TEST_F(ChangeListProcessorTest, DeltaFileRenamedInDirectory) { | 313 TEST_F(ChangeListProcessorTest, DeltaFileRenamedInDirectory) { |
306 ScopedVector<ChangeList> change_lists; | 314 ScopedVector<ChangeList> change_lists; |
307 change_lists.push_back(new ChangeList); | 315 change_lists.push_back(new ChangeList); |
308 | 316 |
309 ResourceEntry entry; | 317 ResourceEntry entry; |
310 entry.set_resource_id("file:subdirectory_file_1_id"); | 318 entry.set_resource_id("file:subdirectory_file_1_id"); |
311 entry.set_title("New SubDirectory File 1.txt"); | 319 entry.set_title("New SubDirectory File 1.txt"); |
312 change_lists[0]->mutable_entries()->push_back(entry); | 320 change_lists[0]->mutable_entries()->push_back(entry); |
313 change_lists[0]->mutable_parent_resource_ids()->push_back( | 321 change_lists[0]->mutable_parent_resource_ids()->push_back( |
314 "folder:1_folder_resource_id"); | 322 "folder:1_folder_resource_id"); |
315 | 323 |
316 change_lists[0]->set_largest_changestamp(16767); | 324 change_lists[0]->set_largest_changestamp(16767); |
317 | 325 |
318 // Apply the changelist and check the effect. | 326 // Apply the changelist and check the effect. |
319 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 327 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
320 std::set<base::FilePath> changed_dirs; | 328 std::set<base::FilePath> changed_dirs; |
321 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 329 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
322 | 330 |
323 EXPECT_EQ(16767, metadata_->GetLargestChangestamp()); | 331 int64 changestamp = 0; |
| 332 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 333 EXPECT_EQ(16767, changestamp); |
324 EXPECT_FALSE(GetResourceEntry( | 334 EXPECT_FALSE(GetResourceEntry( |
325 "drive/root/Directory 1/SubDirectory File 1.txt")); | 335 "drive/root/Directory 1/SubDirectory File 1.txt")); |
326 EXPECT_TRUE(GetResourceEntry( | 336 EXPECT_TRUE(GetResourceEntry( |
327 "drive/root/Directory 1/New SubDirectory File 1.txt")); | 337 "drive/root/Directory 1/New SubDirectory File 1.txt")); |
328 | 338 |
329 EXPECT_EQ(1U, changed_dirs.size()); | 339 EXPECT_EQ(1U, changed_dirs.size()); |
330 EXPECT_TRUE(changed_dirs.count( | 340 EXPECT_TRUE(changed_dirs.count( |
331 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); | 341 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); |
332 } | 342 } |
333 | 343 |
334 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) { | 344 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileInRoot) { |
335 // Create ChangeList to add a file. | 345 // Create ChangeList to add a file. |
336 ScopedVector<ChangeList> change_lists; | 346 ScopedVector<ChangeList> change_lists; |
337 change_lists.push_back(new ChangeList); | 347 change_lists.push_back(new ChangeList); |
338 | 348 |
339 ResourceEntry entry; | 349 ResourceEntry entry; |
340 entry.set_resource_id("document:added_in_root_id"); | 350 entry.set_resource_id("document:added_in_root_id"); |
341 entry.set_title("Added file.txt"); | 351 entry.set_title("Added file.txt"); |
342 change_lists[0]->mutable_entries()->push_back(entry); | 352 change_lists[0]->mutable_entries()->push_back(entry); |
343 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); | 353 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); |
344 | 354 |
345 change_lists[0]->set_largest_changestamp(16683); | 355 change_lists[0]->set_largest_changestamp(16683); |
346 | 356 |
347 // Apply. | 357 // Apply. |
348 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 358 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
349 std::set<base::FilePath> changed_dirs; | 359 std::set<base::FilePath> changed_dirs; |
350 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 360 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
351 EXPECT_EQ(16683, metadata_->GetLargestChangestamp()); | 361 int64 changestamp = 0; |
| 362 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 363 EXPECT_EQ(16683, changestamp); |
352 EXPECT_TRUE(GetResourceEntry("drive/root/Added file.txt")); | 364 EXPECT_TRUE(GetResourceEntry("drive/root/Added file.txt")); |
353 EXPECT_EQ(1U, changed_dirs.size()); | 365 EXPECT_EQ(1U, changed_dirs.size()); |
354 EXPECT_TRUE(changed_dirs.count( | 366 EXPECT_TRUE(changed_dirs.count( |
355 base::FilePath::FromUTF8Unsafe("drive/root"))); | 367 base::FilePath::FromUTF8Unsafe("drive/root"))); |
356 | 368 |
357 // Create ChangeList to delete the file. | 369 // Create ChangeList to delete the file. |
358 change_lists.push_back(new ChangeList); | 370 change_lists.push_back(new ChangeList); |
359 | 371 |
360 entry.set_deleted(true); | 372 entry.set_deleted(true); |
361 change_lists[0]->mutable_entries()->push_back(entry); | 373 change_lists[0]->mutable_entries()->push_back(entry); |
362 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); | 374 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); |
363 | 375 |
364 change_lists[0]->set_largest_changestamp(16687); | 376 change_lists[0]->set_largest_changestamp(16687); |
365 | 377 |
366 // Apply. | 378 // Apply. |
367 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 379 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
368 EXPECT_EQ(16687, metadata_->GetLargestChangestamp()); | 380 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 381 EXPECT_EQ(16687, changestamp); |
369 EXPECT_FALSE(GetResourceEntry("drive/root/Added file.txt")); | 382 EXPECT_FALSE(GetResourceEntry("drive/root/Added file.txt")); |
370 EXPECT_EQ(1U, changed_dirs.size()); | 383 EXPECT_EQ(1U, changed_dirs.size()); |
371 EXPECT_TRUE(changed_dirs.count( | 384 EXPECT_TRUE(changed_dirs.count( |
372 base::FilePath::FromUTF8Unsafe("drive/root"))); | 385 base::FilePath::FromUTF8Unsafe("drive/root"))); |
373 } | 386 } |
374 | 387 |
375 | 388 |
376 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) { | 389 TEST_F(ChangeListProcessorTest, DeltaAddAndDeleteFileFromExistingDirectory) { |
377 // Create ChangeList to add a file. | 390 // Create ChangeList to add a file. |
378 ScopedVector<ChangeList> change_lists; | 391 ScopedVector<ChangeList> change_lists; |
379 change_lists.push_back(new ChangeList); | 392 change_lists.push_back(new ChangeList); |
380 | 393 |
381 ResourceEntry entry; | 394 ResourceEntry entry; |
382 entry.set_resource_id("document:added_in_root_id"); | 395 entry.set_resource_id("document:added_in_root_id"); |
383 entry.set_title("Added file.txt"); | 396 entry.set_title("Added file.txt"); |
384 change_lists[0]->mutable_entries()->push_back(entry); | 397 change_lists[0]->mutable_entries()->push_back(entry); |
385 change_lists[0]->mutable_parent_resource_ids()->push_back( | 398 change_lists[0]->mutable_parent_resource_ids()->push_back( |
386 "folder:1_folder_resource_id"); | 399 "folder:1_folder_resource_id"); |
387 | 400 |
388 change_lists[0]->set_largest_changestamp(16730); | 401 change_lists[0]->set_largest_changestamp(16730); |
389 | 402 |
390 // Apply. | 403 // Apply. |
391 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 404 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
392 std::set<base::FilePath> changed_dirs; | 405 std::set<base::FilePath> changed_dirs; |
393 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 406 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
394 EXPECT_EQ(16730, metadata_->GetLargestChangestamp()); | 407 int64 changestamp = 0; |
| 408 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 409 EXPECT_EQ(16730, changestamp); |
395 EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); | 410 EXPECT_TRUE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); |
396 | 411 |
397 EXPECT_EQ(1U, changed_dirs.size()); | 412 EXPECT_EQ(1U, changed_dirs.size()); |
398 EXPECT_TRUE(changed_dirs.count( | 413 EXPECT_TRUE(changed_dirs.count( |
399 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); | 414 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); |
400 | 415 |
401 // Create ChangeList to delete the file. | 416 // Create ChangeList to delete the file. |
402 change_lists.push_back(new ChangeList); | 417 change_lists.push_back(new ChangeList); |
403 | 418 |
404 entry.set_deleted(true); | 419 entry.set_deleted(true); |
405 change_lists[0]->mutable_entries()->push_back(entry); | 420 change_lists[0]->mutable_entries()->push_back(entry); |
406 change_lists[0]->mutable_parent_resource_ids()->push_back( | 421 change_lists[0]->mutable_parent_resource_ids()->push_back( |
407 "folder:1_folder_resource_id"); | 422 "folder:1_folder_resource_id"); |
408 | 423 |
409 change_lists[0]->set_largest_changestamp(16770); | 424 change_lists[0]->set_largest_changestamp(16770); |
410 | 425 |
411 // Apply. | 426 // Apply. |
412 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 427 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
413 EXPECT_EQ(16770, metadata_->GetLargestChangestamp()); | 428 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 429 EXPECT_EQ(16770, changestamp); |
414 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); | 430 EXPECT_FALSE(GetResourceEntry("drive/root/Directory 1/Added file.txt")); |
415 | 431 |
416 EXPECT_EQ(1U, changed_dirs.size()); | 432 EXPECT_EQ(1U, changed_dirs.size()); |
417 EXPECT_TRUE(changed_dirs.count( | 433 EXPECT_TRUE(changed_dirs.count( |
418 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); | 434 base::FilePath::FromUTF8Unsafe("drive/root/Directory 1"))); |
419 } | 435 } |
420 | 436 |
421 TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) { | 437 TEST_F(ChangeListProcessorTest, DeltaAddFileToNewButDeletedDirectory) { |
422 // Create a change which contains the following updates: | 438 // Create a change which contains the following updates: |
423 // 1) A new PDF file is added to a new directory | 439 // 1) A new PDF file is added to a new directory |
(...skipping 18 matching lines...) Expand all Loading... |
442 change_lists[0]->mutable_entries()->push_back(directory); | 458 change_lists[0]->mutable_entries()->push_back(directory); |
443 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); | 459 change_lists[0]->mutable_parent_resource_ids()->push_back(kRootId); |
444 | 460 |
445 change_lists[0]->set_largest_changestamp(16730); | 461 change_lists[0]->set_largest_changestamp(16730); |
446 | 462 |
447 // Apply the changelist and check the effect. | 463 // Apply the changelist and check the effect. |
448 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 464 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
449 std::set<base::FilePath> changed_dirs; | 465 std::set<base::FilePath> changed_dirs; |
450 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 466 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
451 | 467 |
452 EXPECT_EQ(16730, metadata_->GetLargestChangestamp()); | 468 int64 changestamp = 0; |
| 469 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetLargestChangestamp(&changestamp)); |
| 470 EXPECT_EQ(16730, changestamp); |
453 EXPECT_FALSE(GetResourceEntry("drive/root/New Directory/new_pdf_file.pdf")); | 471 EXPECT_FALSE(GetResourceEntry("drive/root/New Directory/new_pdf_file.pdf")); |
454 | 472 |
455 EXPECT_TRUE(changed_dirs.empty()); | 473 EXPECT_TRUE(changed_dirs.empty()); |
456 } | 474 } |
457 | 475 |
458 TEST_F(ChangeListProcessorTest, RefreshDirectory) { | 476 TEST_F(ChangeListProcessorTest, RefreshDirectory) { |
459 // Prepare metadata. | 477 // Prepare metadata. |
460 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); | 478 EXPECT_EQ(FILE_ERROR_OK, ApplyFullResourceList(CreateBaseChangeList())); |
461 | 479 |
462 // Create change list. | 480 // Create change list. |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); | 614 EXPECT_EQ(FILE_ERROR_OK, ApplyChangeList(change_lists.Pass(), &changed_dirs)); |
597 | 615 |
598 // The change is rejected due to the old modification date. | 616 // The change is rejected due to the old modification date. |
599 ResourceEntry entry; | 617 ResourceEntry entry; |
600 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById(local_id, &entry)); | 618 EXPECT_EQ(FILE_ERROR_OK, metadata_->GetResourceEntryById(local_id, &entry)); |
601 EXPECT_EQ(new_file_local.title(), entry.title()); | 619 EXPECT_EQ(new_file_local.title(), entry.title()); |
602 } | 620 } |
603 | 621 |
604 } // namespace internal | 622 } // namespace internal |
605 } // namespace drive | 623 } // namespace drive |
OLD | NEW |