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

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

Issue 15741023: Stop using hard-codeed json files in drive::FileSystemTest.ChangeFeed* (part 1). (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
« no previous file with comments | « no previous file | no next file » | 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/file_system.h" 5 #include "chrome/browser/chromeos/drive/file_system.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 ASSERT_TRUE( 629 ASSERT_TRUE(
630 LoadChangeFeed("chromeos/gdata/delta_file_deleted_in_directory.json")); 630 LoadChangeFeed("chromeos/gdata/delta_file_deleted_in_directory.json"));
631 EXPECT_TRUE( 631 EXPECT_TRUE(
632 EntryExists(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))); 632 EntryExists(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))));
633 EXPECT_FALSE(EntryExists(base::FilePath( 633 EXPECT_FALSE(EntryExists(base::FilePath(
634 FILE_PATH_LITERAL("drive/root/Directory 1/Added file.gdoc")))); 634 FILE_PATH_LITERAL("drive/root/Directory 1/Added file.gdoc"))));
635 } 635 }
636 636
637 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewDirectory) { 637 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewDirectory) {
638 ASSERT_TRUE(LoadRootFeedDocument()); 638 ASSERT_TRUE(LoadRootFeedDocument());
639 // Add file to a new directory. 639 ASSERT_FALSE(EntryExists(base::FilePath(
640 FILE_PATH_LITERAL("drive/root/New Directory/New File.txt"))));
641
640 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 642 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
641 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 643 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
642 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 644 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
643 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/New Directory"))))) 645 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/New Directory")))))
644 .Times(1); 646 .Times(1);
645 647
646 ASSERT_TRUE( 648 // This adds "drive/root/New Directory" and then
647 LoadChangeFeed("chromeos/gdata/delta_file_added_in_new_directory.json")); 649 // "drive/root/New Directory/New File.txt" on the server.
650 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
651 scoped_ptr<google_apis::ResourceEntry> entry;
652 fake_drive_service_->AddNewDirectory(
653 fake_drive_service_->GetRootResourceId(),
654 "New Directory",
655 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
656 google_apis::test_util::RunBlockingPoolTask();
657 ASSERT_EQ(google_apis::HTTP_CREATED, error);
648 658
659 error = google_apis::GDATA_OTHER_ERROR;
660 fake_drive_service_->AddNewFile(
661 "text/plain",
662 "hello world",
663 entry->resource_id(),
664 "New File.txt",
665 false,
666 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
667 google_apis::test_util::RunBlockingPoolTask();
668 ASSERT_EQ(google_apis::HTTP_CREATED, error);
669
670 // Load the change list.
671 file_system_->CheckForUpdates();
672 google_apis::test_util::RunBlockingPoolTask();
673
674 // Verify that the update is reflected.
649 EXPECT_TRUE( 675 EXPECT_TRUE(
650 EntryExists(base::FilePath( 676 EntryExists(base::FilePath(
651 FILE_PATH_LITERAL("drive/root/New Directory")))); 677 FILE_PATH_LITERAL("drive/root/New Directory"))));
652 EXPECT_TRUE(EntryExists(base::FilePath( 678 EXPECT_TRUE(EntryExists(base::FilePath(
653 FILE_PATH_LITERAL("drive/root/New Directory/File in new dir.gdoc")))); 679 FILE_PATH_LITERAL("drive/root/New Directory/New File.txt"))));
654 } 680 }
655 681
656 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) { 682 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) {
657 ASSERT_TRUE(LoadRootFeedDocument()); 683 ASSERT_TRUE(LoadRootFeedDocument());
658 684
659 // This feed contains the following updates: 685 // This feed contains the following updates:
660 // 1) A new PDF file is added to a new directory 686 // 1) A new PDF file is added to a new directory
661 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) 687 // 2) but the new directory is marked "deleted" (i.e. moved to Trash)
662 // Hence, the PDF file should be just ignored. 688 // Hence, the PDF file should be just ignored.
663 ASSERT_TRUE(LoadChangeFeed( 689 ASSERT_TRUE(LoadChangeFeed(
664 "chromeos/gdata/delta_file_added_in_new_but_deleted_directory.json")); 690 "chromeos/gdata/delta_file_added_in_new_but_deleted_directory.json"));
665 } 691 }
666 692
667 TEST_F(FileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) { 693 TEST_F(FileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) {
668 ASSERT_TRUE(LoadRootFeedDocument()); 694 ASSERT_TRUE(LoadRootFeedDocument());
695 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
696 "drive/root/Directory 1"))));
669 697
670 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
671 "drive/root/Directory 2 excludeDir-test"))));
672 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
673 "drive/root/Directory 1"))));
674 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
675 "drive/root/Directory 1/SubDirectory File 1.txt"))));
676 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
677 "drive/root/Directory 1/Sub Directory Folder"))));
678 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
679 "drive/root/Directory 1/Sub Directory Folder/"
680 "Sub Sub Directory Folder"))));
681
682 // This will move "Directory 1" from "drive/root/" to
683 // "drive/root/Directory 2/".
684 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 698 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
685 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 699 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
686 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 700 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
687 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 701 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
688 .Times(1); 702 .Times(1);
689 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 703 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
690 Eq(base::FilePath(FILE_PATH_LITERAL( 704 Eq(base::FilePath(FILE_PATH_LITERAL(
691 "drive/root/Directory 2 excludeDir-test"))))).Times(1); 705 "drive/root/Directory 2 excludeDir-test"))))).Times(1);
692 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 706 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
693 Eq(base::FilePath(FILE_PATH_LITERAL( 707 Eq(base::FilePath(FILE_PATH_LITERAL(
694 "drive/root/Directory 2 excludeDir-test/Directory 1"))))).Times(1); 708 "drive/root/Directory 2 excludeDir-test/Directory 1"))))).Times(1);
695 ASSERT_TRUE(LoadChangeFeed(
696 "chromeos/gdata/delta_dir_moved_from_root_to_directory.json"));
697 709
698 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 710 // This will move "Directory 1" from "drive/root/" to
699 "drive/root/Directory 2 excludeDir-test")))); 711 // "drive/root/Directory 2 excludeDir-test/" on the server.
712 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
713 fake_drive_service_->AddResourceToDirectory(
714 "folder:sub_dir_folder_2_self_link",
715 "folder:1_folder_resource_id",
716 google_apis::test_util::CreateCopyResultCallback(&error));
717 google_apis::test_util::RunBlockingPoolTask();
718 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
719
720 error = google_apis::GDATA_OTHER_ERROR;
721 fake_drive_service_->RemoveResourceFromDirectory(
722 fake_drive_service_->GetRootResourceId(),
723 "folder:1_folder_resource_id",
724 google_apis::test_util::CreateCopyResultCallback(&error));
725 google_apis::test_util::RunBlockingPoolTask();
726 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
727
728 // Load the change list.
729 file_system_->CheckForUpdates();
730 google_apis::test_util::RunBlockingPoolTask();
731
732 // Verify that the update is reflected.
700 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 733 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
701 "drive/root/Directory 1")))); 734 "drive/root/Directory 1"))));
702 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 735 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
703 "drive/root/Directory 2 excludeDir-test/Directory 1")))); 736 "drive/root/Directory 2 excludeDir-test/Directory 1"))));
704 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 737 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
705 "drive/root/Directory 2 excludeDir-test/Directory 1/" 738 "drive/root/Directory 2 excludeDir-test/Directory 1/"
706 "SubDirectory File 1.txt")))); 739 "SubDirectory File 1.txt"))));
707 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 740 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
708 "drive/root/Directory 2 excludeDir-test/Directory 1/" 741 "drive/root/Directory 2 excludeDir-test/Directory 1/"
709 "Sub Directory Folder")))); 742 "Sub Directory Folder"))));
710 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 743 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
711 "drive/root/Directory 2 excludeDir-test/Directory 1/Sub Directory Folder/" 744 "drive/root/Directory 2 excludeDir-test/Directory 1/Sub Directory Folder/"
712 "Sub Sub Directory Folder")))); 745 "Sub Sub Directory Folder"))));
713 } 746 }
714 747
715 TEST_F(FileSystemTest, ChangeFeed_FileMovedFromDirectoryToRoot) { 748 TEST_F(FileSystemTest, ChangeFeed_FileMovedFromDirectoryToRoot) {
716 ASSERT_TRUE(LoadRootFeedDocument()); 749 ASSERT_TRUE(LoadRootFeedDocument());
717 750 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
718 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
719 "drive/root/Directory 1"))));
720 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
721 "drive/root/Directory 1/Sub Directory Folder"))));
722 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
723 "drive/root/Directory 1/Sub Directory Folder/"
724 "Sub Sub Directory Folder"))));
725 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
726 "drive/root/Directory 1/SubDirectory File 1.txt")))); 751 "drive/root/Directory 1/SubDirectory File 1.txt"))));
727 752
728 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 753 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
729 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 754 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
730 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 755 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
731 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 756 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
732 .Times(1); 757 .Times(1);
733 ASSERT_TRUE(LoadChangeFeed(
734 "chromeos/gdata/delta_file_moved_from_directory_to_root.json"));
735 758
736 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 759 // This will move "drive/root/Directory 1/SubDirectory File 1.txt"
737 "drive/root/Directory 1")))); 760 // to "drive/root/SubDirectory File 1.txt" on the server.
738 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 761 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
739 "drive/root/Directory 1/Sub Directory Folder")))); 762 fake_drive_service_->AddResourceToDirectory(
740 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 763 fake_drive_service_->GetRootResourceId(),
741 "drive/root/Directory 1/Sub Directory Folder/" 764 "file:subdirectory_file_1_id",
742 "Sub Sub Directory Folder")))); 765 google_apis::test_util::CreateCopyResultCallback(&error));
766 google_apis::test_util::RunBlockingPoolTask();
767 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
768
769 error = google_apis::GDATA_OTHER_ERROR;
770 fake_drive_service_->RemoveResourceFromDirectory(
771 "folder:1_folder_resource_id",
772 "file:subdirectory_file_1_id",
773 google_apis::test_util::CreateCopyResultCallback(&error));
774 google_apis::test_util::RunBlockingPoolTask();
775 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
776
777 // Load the change list.
778 file_system_->CheckForUpdates();
779 google_apis::test_util::RunBlockingPoolTask();
780
781 // Verify that the update is reflected.
743 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 782 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
744 "drive/root/Directory 1/SubDirectory File 1.txt")))); 783 "drive/root/Directory 1/SubDirectory File 1.txt"))));
745 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 784 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
746 "drive/root/SubDirectory File 1.txt")))); 785 "drive/root/SubDirectory File 1.txt"))));
747 } 786 }
748 787
749 TEST_F(FileSystemTest, ChangeFeed_FileRenamedInDirectory) { 788 TEST_F(FileSystemTest, ChangeFeed_FileRenamedInDirectory) {
750 ASSERT_TRUE(LoadRootFeedDocument()); 789 ASSERT_TRUE(LoadRootFeedDocument());
751 790 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
752 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
753 "drive/root/Directory 1"))));
754 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
755 "drive/root/Directory 1/SubDirectory File 1.txt")))); 791 "drive/root/Directory 1/SubDirectory File 1.txt"))));
756 792
757 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 793 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
758 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
759 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
760 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 794 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
761 .Times(1); 795 .Times(1);
762 ASSERT_TRUE(LoadChangeFeed(
763 "chromeos/gdata/delta_file_renamed_in_directory.json"));
764 796
765 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 797 // Rename on the server.
766 "drive/root/Directory 1")))); 798 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
799 fake_drive_service_->RenameResource(
800 "file:subdirectory_file_1_id",
801 "New SubDirectory File 1.txt",
802 google_apis::test_util::CreateCopyResultCallback(&error));
803 google_apis::test_util::RunBlockingPoolTask();
804 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
805
806 // Load the change list.
807 file_system_->CheckForUpdates();
808 google_apis::test_util::RunBlockingPoolTask();
809
810 // Verify that the update is reflected.
767 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 811 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
768 "drive/root/Directory 1/SubDirectory File 1.txt")))); 812 "drive/root/Directory 1/SubDirectory File 1.txt"))));
769 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 813 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
770 "drive/root/Directory 1/New SubDirectory File 1.txt")))); 814 "drive/root/Directory 1/New SubDirectory File 1.txt"))));
771 } 815 }
772 816
773 TEST_F(FileSystemTest, CachedFeedLoadingThenServerFeedLoading) { 817 TEST_F(FileSystemTest, CachedFeedLoadingThenServerFeedLoading) {
774 ASSERT_TRUE(SetUpTestFileSystem(USE_SERVER_TIMESTAMP)); 818 ASSERT_TRUE(SetUpTestFileSystem(USE_SERVER_TIMESTAMP));
775 819
776 // Kicks loading of cached file system and query for server update. 820 // Kicks loading of cached file system and query for server update.
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 entry->resource_id(), 1718 entry->resource_id(),
1675 entry->file_specific_info().file_md5(), 1719 entry->file_specific_info().file_md5(),
1676 google_apis::test_util::CreateCopyResultCallback(&success, &cache_entry)); 1720 google_apis::test_util::CreateCopyResultCallback(&success, &cache_entry));
1677 google_apis::test_util::RunBlockingPoolTask(); 1721 google_apis::test_util::RunBlockingPoolTask();
1678 1722
1679 EXPECT_TRUE(success); 1723 EXPECT_TRUE(success);
1680 EXPECT_FALSE(cache_entry.is_mounted()); 1724 EXPECT_FALSE(cache_entry.is_mounted());
1681 } 1725 }
1682 1726
1683 } // namespace drive 1727 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698