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

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: Created 7 years, 7 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/test/data/chromeos/gdata/delta_dir_moved_from_root_to_directory.json » ('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/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 637 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 ASSERT_TRUE( 648 ASSERT_TRUE(
649 LoadChangeFeed("chromeos/gdata/delta_file_deleted_in_directory.json")); 649 LoadChangeFeed("chromeos/gdata/delta_file_deleted_in_directory.json"));
650 EXPECT_TRUE( 650 EXPECT_TRUE(
651 EntryExists(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))); 651 EntryExists(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))));
652 EXPECT_FALSE(EntryExists(base::FilePath( 652 EXPECT_FALSE(EntryExists(base::FilePath(
653 FILE_PATH_LITERAL("drive/root/Directory 1/Added file.gdoc")))); 653 FILE_PATH_LITERAL("drive/root/Directory 1/Added file.gdoc"))));
654 } 654 }
655 655
656 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewDirectory) { 656 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewDirectory) {
657 ASSERT_TRUE(LoadRootFeedDocument()); 657 ASSERT_TRUE(LoadRootFeedDocument());
658 // Add file to a new directory. 658 ASSERT_FALSE(EntryExists(base::FilePath(
659 FILE_PATH_LITERAL("drive/root/New Directory/New File.txt"))));
660
659 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 661 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
660 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 662 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
661 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 663 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
662 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/New Directory"))))) 664 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/New Directory")))))
663 .Times(1); 665 .Times(1);
664 666
665 ASSERT_TRUE( 667 // This adds "drive/root/New Directory" and then
666 LoadChangeFeed("chromeos/gdata/delta_file_added_in_new_directory.json")); 668 // "drive/root/New Directory/New File.txt" on the server.
satorux1 2013/05/28 05:01:33 Here, we were indirectly testing the ChangeListPro
kinaba 2013/05/28 06:20:27 We are still testing ChangeListProcessor indirectl
669 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
670 scoped_ptr<google_apis::ResourceEntry> entry;
671 fake_drive_service_->AddNewDirectory(
672 fake_drive_service_->GetRootResourceId(),
673 "New Directory",
674 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
675 google_apis::test_util::RunBlockingPoolTask();
676 ASSERT_EQ(google_apis::HTTP_CREATED, error);
667 677
678 error = google_apis::GDATA_OTHER_ERROR;
679 fake_drive_service_->AddNewFile(
680 "text/plain",
681 "hello world",
682 entry->resource_id(),
683 "New File.txt",
684 false,
685 google_apis::test_util::CreateCopyResultCallback(&error, &entry));
686 google_apis::test_util::RunBlockingPoolTask();
687 ASSERT_EQ(google_apis::HTTP_CREATED, error);
688
689 // Load the change list.
690 file_system_->CheckForUpdates();
691 google_apis::test_util::RunBlockingPoolTask();
692
693 // Verify that the update is reflected.
668 EXPECT_TRUE( 694 EXPECT_TRUE(
669 EntryExists(base::FilePath( 695 EntryExists(base::FilePath(
670 FILE_PATH_LITERAL("drive/root/New Directory")))); 696 FILE_PATH_LITERAL("drive/root/New Directory"))));
671 EXPECT_TRUE(EntryExists(base::FilePath( 697 EXPECT_TRUE(EntryExists(base::FilePath(
672 FILE_PATH_LITERAL("drive/root/New Directory/File in new dir.gdoc")))); 698 FILE_PATH_LITERAL("drive/root/New Directory/New File.txt"))));
673 } 699 }
674 700
675 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) { 701 TEST_F(FileSystemTest, ChangeFeed_AddFileToNewButDeletedDirectory) {
676 ASSERT_TRUE(LoadRootFeedDocument()); 702 ASSERT_TRUE(LoadRootFeedDocument());
677 703
678 // This feed contains the following updates: 704 // This feed contains the following updates:
679 // 1) A new PDF file is added to a new directory 705 // 1) A new PDF file is added to a new directory
680 // 2) but the new directory is marked "deleted" (i.e. moved to Trash) 706 // 2) but the new directory is marked "deleted" (i.e. moved to Trash)
681 // Hence, the PDF file should be just ignored. 707 // Hence, the PDF file should be just ignored.
682 ASSERT_TRUE(LoadChangeFeed( 708 ASSERT_TRUE(LoadChangeFeed(
683 "chromeos/gdata/delta_file_added_in_new_but_deleted_directory.json")); 709 "chromeos/gdata/delta_file_added_in_new_but_deleted_directory.json"));
684 } 710 }
685 711
686 TEST_F(FileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) { 712 TEST_F(FileSystemTest, ChangeFeed_DirectoryMovedFromRootToDirectory) {
687 ASSERT_TRUE(LoadRootFeedDocument()); 713 ASSERT_TRUE(LoadRootFeedDocument());
714 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
715 "drive/root/Directory 1"))));
688 716
689 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
690 "drive/root/Directory 2 excludeDir-test"))));
691 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
692 "drive/root/Directory 1"))));
693 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
694 "drive/root/Directory 1/SubDirectory File 1.txt"))));
695 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
696 "drive/root/Directory 1/Sub Directory Folder"))));
697 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
698 "drive/root/Directory 1/Sub Directory Folder/"
699 "Sub Sub Directory Folder"))));
700
701 // This will move "Directory 1" from "drive/root/" to
702 // "drive/root/Directory 2/".
703 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 717 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
704 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 718 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
705 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 719 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
706 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 720 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
707 .Times(1); 721 .Times(1);
708 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 722 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
709 Eq(base::FilePath(FILE_PATH_LITERAL( 723 Eq(base::FilePath(FILE_PATH_LITERAL(
710 "drive/root/Directory 2 excludeDir-test"))))).Times(1); 724 "drive/root/Directory 2 excludeDir-test"))))).Times(1);
711 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 725 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
712 Eq(base::FilePath(FILE_PATH_LITERAL( 726 Eq(base::FilePath(FILE_PATH_LITERAL(
713 "drive/root/Directory 2 excludeDir-test/Directory 1"))))).Times(1); 727 "drive/root/Directory 2 excludeDir-test/Directory 1"))))).Times(1);
714 ASSERT_TRUE(LoadChangeFeed(
715 "chromeos/gdata/delta_dir_moved_from_root_to_directory.json"));
716 728
717 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 729 // This will move "Directory 1" from "drive/root/" to
718 "drive/root/Directory 2 excludeDir-test")))); 730 // "drive/root/Directory 2 excludeDir-test/" on the server.
731 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
732 fake_drive_service_->AddResourceToDirectory(
733 "folder:sub_dir_folder_2_self_link",
734 "folder:1_folder_resource_id",
735 google_apis::test_util::CreateCopyResultCallback(&error));
736 google_apis::test_util::RunBlockingPoolTask();
737 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
738
739 error = google_apis::GDATA_OTHER_ERROR;
740 fake_drive_service_->RemoveResourceFromDirectory(
741 fake_drive_service_->GetRootResourceId(),
742 "folder:1_folder_resource_id",
743 google_apis::test_util::CreateCopyResultCallback(&error));
744 google_apis::test_util::RunBlockingPoolTask();
745 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
746
747 // Load the change list.
748 file_system_->CheckForUpdates();
749 google_apis::test_util::RunBlockingPoolTask();
750
751 // Verify that the update is reflected.
719 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 752 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
720 "drive/root/Directory 1")))); 753 "drive/root/Directory 1"))));
721 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 754 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
722 "drive/root/Directory 2 excludeDir-test/Directory 1")))); 755 "drive/root/Directory 2 excludeDir-test/Directory 1"))));
723 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 756 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
724 "drive/root/Directory 2 excludeDir-test/Directory 1/" 757 "drive/root/Directory 2 excludeDir-test/Directory 1/"
725 "SubDirectory File 1.txt")))); 758 "SubDirectory File 1.txt"))));
726 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 759 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
727 "drive/root/Directory 2 excludeDir-test/Directory 1/" 760 "drive/root/Directory 2 excludeDir-test/Directory 1/"
728 "Sub Directory Folder")))); 761 "Sub Directory Folder"))));
729 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 762 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
730 "drive/root/Directory 2 excludeDir-test/Directory 1/Sub Directory Folder/" 763 "drive/root/Directory 2 excludeDir-test/Directory 1/Sub Directory Folder/"
731 "Sub Sub Directory Folder")))); 764 "Sub Sub Directory Folder"))));
732 } 765 }
733 766
734 TEST_F(FileSystemTest, ChangeFeed_FileMovedFromDirectoryToRoot) { 767 TEST_F(FileSystemTest, ChangeFeed_FileMovedFromDirectoryToRoot) {
735 ASSERT_TRUE(LoadRootFeedDocument()); 768 ASSERT_TRUE(LoadRootFeedDocument());
736 769 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
737 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
738 "drive/root/Directory 1"))));
739 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
740 "drive/root/Directory 1/Sub Directory Folder"))));
741 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
742 "drive/root/Directory 1/Sub Directory Folder/"
743 "Sub Sub Directory Folder"))));
744 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
745 "drive/root/Directory 1/SubDirectory File 1.txt")))); 770 "drive/root/Directory 1/SubDirectory File 1.txt"))));
746 771
747 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 772 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
748 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1); 773 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
749 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 774 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
750 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 775 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
751 .Times(1); 776 .Times(1);
752 ASSERT_TRUE(LoadChangeFeed(
753 "chromeos/gdata/delta_file_moved_from_directory_to_root.json"));
754 777
755 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 778 // This will move "drive/root/Directory 1/SubDirectory File 1.txt"
756 "drive/root/Directory 1")))); 779 // to "drive/root/SubDirectory File 1.txt" on the server.
757 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 780 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
758 "drive/root/Directory 1/Sub Directory Folder")))); 781 fake_drive_service_->AddResourceToDirectory(
759 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 782 fake_drive_service_->GetRootResourceId(),
760 "drive/root/Directory 1/Sub Directory Folder/" 783 "file:subdirectory_file_1_id",
761 "Sub Sub Directory Folder")))); 784 google_apis::test_util::CreateCopyResultCallback(&error));
785 google_apis::test_util::RunBlockingPoolTask();
786 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
787
788 error = google_apis::GDATA_OTHER_ERROR;
789 fake_drive_service_->RemoveResourceFromDirectory(
790 "folder:1_folder_resource_id",
791 "file:subdirectory_file_1_id",
792 google_apis::test_util::CreateCopyResultCallback(&error));
793 google_apis::test_util::RunBlockingPoolTask();
794 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
795
796 // Load the change list.
797 file_system_->CheckForUpdates();
798 google_apis::test_util::RunBlockingPoolTask();
799
800 // Verify that the update is reflected.
762 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 801 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
763 "drive/root/Directory 1/SubDirectory File 1.txt")))); 802 "drive/root/Directory 1/SubDirectory File 1.txt"))));
764 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 803 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
765 "drive/root/SubDirectory File 1.txt")))); 804 "drive/root/SubDirectory File 1.txt"))));
766 } 805 }
767 806
768 TEST_F(FileSystemTest, ChangeFeed_FileRenamedInDirectory) { 807 TEST_F(FileSystemTest, ChangeFeed_FileRenamedInDirectory) {
769 ASSERT_TRUE(LoadRootFeedDocument()); 808 ASSERT_TRUE(LoadRootFeedDocument());
770 809 ASSERT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
771 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
772 "drive/root/Directory 1"))));
773 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
774 "drive/root/Directory 1/SubDirectory File 1.txt")))); 810 "drive/root/Directory 1/SubDirectory File 1.txt"))));
775 811
776 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 812 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
777 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root"))))).Times(1);
778 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
779 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1"))))) 813 Eq(base::FilePath(FILE_PATH_LITERAL("drive/root/Directory 1")))))
780 .Times(1); 814 .Times(1);
781 ASSERT_TRUE(LoadChangeFeed(
782 "chromeos/gdata/delta_file_renamed_in_directory.json"));
783 815
784 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 816 // Rename on the server.
785 "drive/root/Directory 1")))); 817 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR;
818 fake_drive_service_->RenameResource(
819 "file:subdirectory_file_1_id",
820 "New SubDirectory File 1.txt",
821 google_apis::test_util::CreateCopyResultCallback(&error));
822 google_apis::test_util::RunBlockingPoolTask();
823 ASSERT_EQ(google_apis::HTTP_SUCCESS, error);
824
825 // Load the change list.
826 file_system_->CheckForUpdates();
827 google_apis::test_util::RunBlockingPoolTask();
828
829 // Verify that the update is reflected.
786 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 830 EXPECT_FALSE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
787 "drive/root/Directory 1/SubDirectory File 1.txt")))); 831 "drive/root/Directory 1/SubDirectory File 1.txt"))));
788 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL( 832 EXPECT_TRUE(EntryExists(base::FilePath(FILE_PATH_LITERAL(
789 "drive/root/Directory 1/New SubDirectory File 1.txt")))); 833 "drive/root/Directory 1/New SubDirectory File 1.txt"))));
790 } 834 }
791 835
792 TEST_F(FileSystemTest, CachedFeedLoadingThenServerFeedLoading) { 836 TEST_F(FileSystemTest, CachedFeedLoadingThenServerFeedLoading) {
793 ASSERT_TRUE(SetUpTestFileSystem(USE_SERVER_TIMESTAMP)); 837 ASSERT_TRUE(SetUpTestFileSystem(USE_SERVER_TIMESTAMP));
794 838
795 // Kicks loading of cached file system and query for server update. 839 // Kicks loading of cached file system and query for server update.
(...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after
1772 entry->resource_id(), 1816 entry->resource_id(),
1773 entry->file_specific_info().file_md5(), 1817 entry->file_specific_info().file_md5(),
1774 google_apis::test_util::CreateCopyResultCallback(&success, &cache_entry)); 1818 google_apis::test_util::CreateCopyResultCallback(&success, &cache_entry));
1775 google_apis::test_util::RunBlockingPoolTask(); 1819 google_apis::test_util::RunBlockingPoolTask();
1776 1820
1777 EXPECT_TRUE(success); 1821 EXPECT_TRUE(success);
1778 EXPECT_FALSE(cache_entry.is_mounted()); 1822 EXPECT_FALSE(cache_entry.is_mounted());
1779 } 1823 }
1780 1824
1781 } // namespace drive 1825 } // namespace drive
OLDNEW
« no previous file with comments | « no previous file | chrome/test/data/chromeos/gdata/delta_dir_moved_from_root_to_directory.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698