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

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

Issue 16107004: drive: Stop returning FilePath from GetResourceEntryById (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 6 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
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/resource_metadata.h" 5 #include "chrome/browser/chromeos/drive/resource_metadata.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryById_RootDirectory) { 247 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryById_RootDirectory) {
248 scoped_ptr<ResourceMetadata, test_util::DestroyHelperForTests> 248 scoped_ptr<ResourceMetadata, test_util::DestroyHelperForTests>
249 resource_metadata(new ResourceMetadata(temp_dir_.path(), 249 resource_metadata(new ResourceMetadata(temp_dir_.path(),
250 blocking_task_runner_)); 250 blocking_task_runner_));
251 FileError error = FILE_ERROR_FAILED; 251 FileError error = FILE_ERROR_FAILED;
252 resource_metadata->Initialize( 252 resource_metadata->Initialize(
253 google_apis::test_util::CreateCopyResultCallback(&error)); 253 google_apis::test_util::CreateCopyResultCallback(&error));
254 google_apis::test_util::RunBlockingPoolTask(); 254 google_apis::test_util::RunBlockingPoolTask();
255 ASSERT_EQ(FILE_ERROR_OK, error); 255 ASSERT_EQ(FILE_ERROR_OK, error);
256 256
257 base::FilePath drive_file_path;
258 scoped_ptr<ResourceEntry> entry; 257 scoped_ptr<ResourceEntry> entry;
259 258
260 // Look up the root directory by its resource ID. 259 // Look up the root directory by its resource ID.
261 resource_metadata->GetResourceEntryByIdOnUIThread( 260 resource_metadata->GetResourceEntryByIdOnUIThread(
262 util::kDriveGrandRootSpecialResourceId, 261 util::kDriveGrandRootSpecialResourceId,
263 google_apis::test_util::CreateCopyResultCallback( 262 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
264 &error, &drive_file_path, &entry));
265 google_apis::test_util::RunBlockingPoolTask(); 263 google_apis::test_util::RunBlockingPoolTask();
266 EXPECT_EQ(FILE_ERROR_OK, error); 264 EXPECT_EQ(FILE_ERROR_OK, error);
267 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive"), drive_file_path);
268 ASSERT_TRUE(entry.get()); 265 ASSERT_TRUE(entry.get());
269 EXPECT_EQ("drive", entry->base_name()); 266 EXPECT_EQ("drive", entry->base_name());
270 } 267 }
271 268
272 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryById) { 269 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryById) {
273 // Confirm that an existing file is found. 270 // Confirm that an existing file is found.
274 FileError error = FILE_ERROR_FAILED; 271 FileError error = FILE_ERROR_FAILED;
275 base::FilePath drive_file_path;
276 scoped_ptr<ResourceEntry> entry; 272 scoped_ptr<ResourceEntry> entry;
277 resource_metadata_->GetResourceEntryByIdOnUIThread( 273 resource_metadata_->GetResourceEntryByIdOnUIThread(
278 "resource_id:file4", 274 "resource_id:file4",
279 google_apis::test_util::CreateCopyResultCallback( 275 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
280 &error, &drive_file_path, &entry));
281 google_apis::test_util::RunBlockingPoolTask(); 276 google_apis::test_util::RunBlockingPoolTask();
282 EXPECT_EQ(FILE_ERROR_OK, error); 277 EXPECT_EQ(FILE_ERROR_OK, error);
283 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/file4"),
284 drive_file_path);
285 ASSERT_TRUE(entry.get()); 278 ASSERT_TRUE(entry.get());
286 EXPECT_EQ("file4", entry->base_name()); 279 EXPECT_EQ("file4", entry->base_name());
287 280
288 // Confirm that a non existing file is not found. 281 // Confirm that a non existing file is not found.
289 error = FILE_ERROR_FAILED; 282 error = FILE_ERROR_FAILED;
290 entry.reset(); 283 entry.reset();
291 resource_metadata_->GetResourceEntryByIdOnUIThread( 284 resource_metadata_->GetResourceEntryByIdOnUIThread(
292 "file:non_existing", 285 "file:non_existing",
293 google_apis::test_util::CreateCopyResultCallback( 286 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
294 &error, &drive_file_path, &entry));
295 google_apis::test_util::RunBlockingPoolTask(); 287 google_apis::test_util::RunBlockingPoolTask();
296 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 288 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
297 EXPECT_FALSE(entry.get()); 289 EXPECT_FALSE(entry.get());
298 } 290 }
299 291
300 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryByPath) { 292 TEST_F(ResourceMetadataTestOnUIThread, GetResourceEntryByPath) {
301 // Confirm that an existing file is found. 293 // Confirm that an existing file is found.
302 FileError error = FILE_ERROR_FAILED; 294 FileError error = FILE_ERROR_FAILED;
303 scoped_ptr<ResourceEntry> entry; 295 scoped_ptr<ResourceEntry> entry;
304 resource_metadata_->GetResourceEntryByPathOnUIThread( 296 resource_metadata_->GetResourceEntryByPathOnUIThread(
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 // The second entry should not be found. 434 // The second entry should not be found.
443 EXPECT_EQ(FILE_ERROR_NOT_FOUND, pair_result->second.error); 435 EXPECT_EQ(FILE_ERROR_NOT_FOUND, pair_result->second.error);
444 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/non_existent"), 436 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/non_existent"),
445 pair_result->second.path); 437 pair_result->second.path);
446 ASSERT_FALSE(pair_result->second.entry.get()); 438 ASSERT_FALSE(pair_result->second.entry.get());
447 } 439 }
448 440
449 TEST_F(ResourceMetadataTestOnUIThread, RemoveEntry) { 441 TEST_F(ResourceMetadataTestOnUIThread, RemoveEntry) {
450 // Make sure file9 is found. 442 // Make sure file9 is found.
451 FileError error = FILE_ERROR_FAILED; 443 FileError error = FILE_ERROR_FAILED;
452 base::FilePath drive_file_path;
453 const std::string file9_resource_id = "resource_id:file9"; 444 const std::string file9_resource_id = "resource_id:file9";
454 scoped_ptr<ResourceEntry> entry; 445 scoped_ptr<ResourceEntry> entry;
455 resource_metadata_->GetResourceEntryByIdOnUIThread( 446 resource_metadata_->GetResourceEntryByIdOnUIThread(
456 file9_resource_id, 447 file9_resource_id,
457 google_apis::test_util::CreateCopyResultCallback( 448 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
458 &error, &drive_file_path, &entry));
459 google_apis::test_util::RunBlockingPoolTask(); 449 google_apis::test_util::RunBlockingPoolTask();
460 EXPECT_EQ(FILE_ERROR_OK, error); 450 EXPECT_EQ(FILE_ERROR_OK, error);
461 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3/file9"),
462 drive_file_path);
463 ASSERT_TRUE(entry.get()); 451 ASSERT_TRUE(entry.get());
464 EXPECT_EQ("file9", entry->base_name()); 452 EXPECT_EQ("file9", entry->base_name());
465 453
466 // Remove file9 using RemoveEntry. 454 // Remove file9 using RemoveEntry.
455 base::FilePath drive_file_path;
467 resource_metadata_->RemoveEntryOnUIThread( 456 resource_metadata_->RemoveEntryOnUIThread(
468 file9_resource_id, 457 file9_resource_id,
469 google_apis::test_util::CreateCopyResultCallback( 458 google_apis::test_util::CreateCopyResultCallback(
470 &error, &drive_file_path)); 459 &error, &drive_file_path));
471 google_apis::test_util::RunBlockingPoolTask(); 460 google_apis::test_util::RunBlockingPoolTask();
472 EXPECT_EQ(FILE_ERROR_OK, error); 461 EXPECT_EQ(FILE_ERROR_OK, error);
473 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"), 462 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"),
474 drive_file_path); 463 drive_file_path);
475 464
476 // file9 should no longer exist. 465 // file9 should no longer exist.
477 resource_metadata_->GetResourceEntryByIdOnUIThread( 466 resource_metadata_->GetResourceEntryByIdOnUIThread(
478 file9_resource_id, 467 file9_resource_id,
479 google_apis::test_util::CreateCopyResultCallback( 468 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
480 &error, &drive_file_path, &entry));
481 google_apis::test_util::RunBlockingPoolTask(); 469 google_apis::test_util::RunBlockingPoolTask();
482 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 470 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
483 EXPECT_FALSE(entry.get()); 471 EXPECT_FALSE(entry.get());
484 472
485 // Look for dir3. 473 // Look for dir3.
486 const std::string dir3_resource_id = "resource_id:dir3"; 474 const std::string dir3_resource_id = "resource_id:dir3";
487 resource_metadata_->GetResourceEntryByIdOnUIThread( 475 resource_metadata_->GetResourceEntryByIdOnUIThread(
488 dir3_resource_id, 476 dir3_resource_id,
489 google_apis::test_util::CreateCopyResultCallback( 477 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
490 &error, &drive_file_path, &entry));
491 google_apis::test_util::RunBlockingPoolTask(); 478 google_apis::test_util::RunBlockingPoolTask();
492 EXPECT_EQ(FILE_ERROR_OK, error); 479 EXPECT_EQ(FILE_ERROR_OK, error);
493 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/dir3"),
494 drive_file_path);
495 ASSERT_TRUE(entry.get()); 480 ASSERT_TRUE(entry.get());
496 EXPECT_EQ("dir3", entry->base_name()); 481 EXPECT_EQ("dir3", entry->base_name());
497 482
498 // Remove dir3 using RemoveEntry. 483 // Remove dir3 using RemoveEntry.
499 resource_metadata_->RemoveEntryOnUIThread( 484 resource_metadata_->RemoveEntryOnUIThread(
500 dir3_resource_id, 485 dir3_resource_id,
501 google_apis::test_util::CreateCopyResultCallback( 486 google_apis::test_util::CreateCopyResultCallback(
502 &error, &drive_file_path)); 487 &error, &drive_file_path));
503 google_apis::test_util::RunBlockingPoolTask(); 488 google_apis::test_util::RunBlockingPoolTask();
504 EXPECT_EQ(FILE_ERROR_OK, error); 489 EXPECT_EQ(FILE_ERROR_OK, error);
505 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1"), drive_file_path); 490 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1"), drive_file_path);
506 491
507 // dir3 should no longer exist. 492 // dir3 should no longer exist.
508 resource_metadata_->GetResourceEntryByIdOnUIThread( 493 resource_metadata_->GetResourceEntryByIdOnUIThread(
509 dir3_resource_id, 494 dir3_resource_id,
510 google_apis::test_util::CreateCopyResultCallback( 495 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
511 &error, &drive_file_path, &entry));
512 google_apis::test_util::RunBlockingPoolTask(); 496 google_apis::test_util::RunBlockingPoolTask();
513 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 497 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
514 EXPECT_FALSE(entry.get()); 498 EXPECT_FALSE(entry.get());
515 499
516 // Remove unknown resource_id using RemoveEntry. 500 // Remove unknown resource_id using RemoveEntry.
517 resource_metadata_->RemoveEntryOnUIThread( 501 resource_metadata_->RemoveEntryOnUIThread(
518 "foo", 502 "foo",
519 google_apis::test_util::CreateCopyResultCallback( 503 google_apis::test_util::CreateCopyResultCallback(
520 &error, &drive_file_path)); 504 &error, &drive_file_path));
521 google_apis::test_util::RunBlockingPoolTask(); 505 google_apis::test_util::RunBlockingPoolTask();
(...skipping 20 matching lines...) Expand all
542 google_apis::test_util::CreateCopyResultCallback( 526 google_apis::test_util::CreateCopyResultCallback(
543 &error, &drive_file_path)); 527 &error, &drive_file_path));
544 google_apis::test_util::RunBlockingPoolTask(); 528 google_apis::test_util::RunBlockingPoolTask();
545 EXPECT_EQ(FILE_ERROR_OK, error); 529 EXPECT_EQ(FILE_ERROR_OK, error);
546 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/file8"), 530 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/file8"),
547 drive_file_path); 531 drive_file_path);
548 532
549 // Look up the entry by its resource id and make sure it really moved. 533 // Look up the entry by its resource id and make sure it really moved.
550 resource_metadata_->GetResourceEntryByIdOnUIThread( 534 resource_metadata_->GetResourceEntryByIdOnUIThread(
551 "resource_id:file8", 535 "resource_id:file8",
552 google_apis::test_util::CreateCopyResultCallback( 536 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
553 &error, &drive_file_path, &entry));
554 google_apis::test_util::RunBlockingPoolTask(); 537 google_apis::test_util::RunBlockingPoolTask();
555 EXPECT_EQ(FILE_ERROR_OK, error); 538 EXPECT_EQ(FILE_ERROR_OK, error);
556 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir1/file8"),
557 drive_file_path);
558 539
559 // Move non-existent file to drive/dir1. This should fail. 540 // Move non-existent file to drive/dir1. This should fail.
560 resource_metadata_->MoveEntryToDirectoryOnUIThread( 541 resource_metadata_->MoveEntryToDirectoryOnUIThread(
561 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"), 542 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"),
562 base::FilePath::FromUTF8Unsafe("drive/root/dir1"), 543 base::FilePath::FromUTF8Unsafe("drive/root/dir1"),
563 google_apis::test_util::CreateCopyResultCallback( 544 google_apis::test_util::CreateCopyResultCallback(
564 &error, &drive_file_path)); 545 &error, &drive_file_path));
565 google_apis::test_util::RunBlockingPoolTask(); 546 google_apis::test_util::RunBlockingPoolTask();
566 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 547 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
567 EXPECT_EQ(base::FilePath(), drive_file_path); 548 EXPECT_EQ(base::FilePath(), drive_file_path);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
604 google_apis::test_util::CreateCopyResultCallback( 585 google_apis::test_util::CreateCopyResultCallback(
605 &error, &drive_file_path)); 586 &error, &drive_file_path));
606 google_apis::test_util::RunBlockingPoolTask(); 587 google_apis::test_util::RunBlockingPoolTask();
607 EXPECT_EQ(FILE_ERROR_OK, error); 588 EXPECT_EQ(FILE_ERROR_OK, error);
608 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"), 589 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"),
609 drive_file_path); 590 drive_file_path);
610 591
611 // Make sure file is still ok. 592 // Make sure file is still ok.
612 resource_metadata_->GetResourceEntryByIdOnUIThread( 593 resource_metadata_->GetResourceEntryByIdOnUIThread(
613 "resource_id:file8", 594 "resource_id:file8",
614 google_apis::test_util::CreateCopyResultCallback( 595 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
615 &error, &drive_file_path, &entry));
616 google_apis::test_util::RunBlockingPoolTask(); 596 google_apis::test_util::RunBlockingPoolTask();
617 EXPECT_EQ(FILE_ERROR_OK, error); 597 EXPECT_EQ(FILE_ERROR_OK, error);
618 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"),
619 drive_file_path);
620 } 598 }
621 599
622 TEST_F(ResourceMetadataTestOnUIThread, RenameEntry) { 600 TEST_F(ResourceMetadataTestOnUIThread, RenameEntry) {
623 FileError error = FILE_ERROR_FAILED; 601 FileError error = FILE_ERROR_FAILED;
624 base::FilePath drive_file_path; 602 base::FilePath drive_file_path;
625 scoped_ptr<ResourceEntry> entry; 603 scoped_ptr<ResourceEntry> entry;
626 604
627 // Rename file8 to file11. 605 // Rename file8 to file11.
628 resource_metadata_->RenameEntryOnUIThread( 606 resource_metadata_->RenameEntryOnUIThread(
629 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"), 607 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file8"),
630 "file11", 608 "file11",
631 google_apis::test_util::CreateCopyResultCallback( 609 google_apis::test_util::CreateCopyResultCallback(
632 &error, &drive_file_path)); 610 &error, &drive_file_path));
633 google_apis::test_util::RunBlockingPoolTask(); 611 google_apis::test_util::RunBlockingPoolTask();
634 EXPECT_EQ(FILE_ERROR_OK, error); 612 EXPECT_EQ(FILE_ERROR_OK, error);
635 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file11"), 613 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file11"),
636 drive_file_path); 614 drive_file_path);
637 615
638 // Lookup the file by resource id to make sure the file actually got renamed. 616 // Lookup the file by resource id to make sure the file actually got renamed.
639 resource_metadata_->GetResourceEntryByIdOnUIThread( 617 resource_metadata_->GetResourceEntryByIdOnUIThread(
640 "resource_id:file8", 618 "resource_id:file8",
641 google_apis::test_util::CreateCopyResultCallback( 619 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
642 &error, &drive_file_path, &entry));
643 google_apis::test_util::RunBlockingPoolTask(); 620 google_apis::test_util::RunBlockingPoolTask();
644 EXPECT_EQ(FILE_ERROR_OK, error); 621 EXPECT_EQ(FILE_ERROR_OK, error);
645 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file11"),
646 drive_file_path);
647 622
648 // Rename to file7 to force a duplicate name. 623 // Rename to file7 to force a duplicate name.
649 resource_metadata_->RenameEntryOnUIThread( 624 resource_metadata_->RenameEntryOnUIThread(
650 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file11"), 625 base::FilePath::FromUTF8Unsafe("drive/root/dir2/file11"),
651 "file7", 626 "file7",
652 google_apis::test_util::CreateCopyResultCallback( 627 google_apis::test_util::CreateCopyResultCallback(
653 &error, &drive_file_path)); 628 &error, &drive_file_path));
654 google_apis::test_util::RunBlockingPoolTask(); 629 google_apis::test_util::RunBlockingPoolTask();
655 EXPECT_EQ(FILE_ERROR_OK, error); 630 EXPECT_EQ(FILE_ERROR_OK, error);
656 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file7 (2)"), 631 EXPECT_EQ(base::FilePath::FromUTF8Unsafe("drive/root/dir2/file7 (2)"),
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1215 else 1190 else
1216 ++directory_count; 1191 ++directory_count;
1217 } 1192 }
1218 1193
1219 EXPECT_EQ(7, file_count); 1194 EXPECT_EQ(7, file_count);
1220 EXPECT_EQ(6, directory_count); 1195 EXPECT_EQ(6, directory_count);
1221 } 1196 }
1222 1197
1223 } // namespace internal 1198 } // namespace internal
1224 } // namespace drive 1199 } // namespace drive
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/drive/resource_metadata.cc ('k') | chrome/browser/chromeos/drive/sync_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698