OLD | NEW |
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/google_apis/fake_drive_service.h" | 5 #include "chrome/browser/google_apis/fake_drive_service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
10 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 if (resource_entry.get()) { | 71 if (resource_entry.get()) { |
72 for (size_t i = 0; i < resource_entry->links().size(); ++i) { | 72 for (size_t i = 0; i < resource_entry->links().size(); ++i) { |
73 if (resource_entry->links()[i]->type() == Link::LINK_PARENT && | 73 if (resource_entry->links()[i]->type() == Link::LINK_PARENT && |
74 resource_entry->links()[i]->href() == parent_url) | 74 resource_entry->links()[i]->href() == parent_url) |
75 return true; | 75 return true; |
76 } | 76 } |
77 } | 77 } |
78 return false; | 78 return false; |
79 } | 79 } |
80 | 80 |
| 81 int64 GetLargestChangeByAboutResource() { |
| 82 GDataErrorCode error; |
| 83 scoped_ptr<AboutResource> about_resource; |
| 84 fake_service_.GetAboutResource( |
| 85 base::Bind(&test_util::CopyResultsFromGetAboutResourceCallback, |
| 86 &error, &about_resource)); |
| 87 message_loop_.RunUntilIdle(); |
| 88 return about_resource->largest_change_id(); |
| 89 } |
| 90 |
81 MessageLoopForUI message_loop_; | 91 MessageLoopForUI message_loop_; |
82 content::TestBrowserThread ui_thread_; | 92 content::TestBrowserThread ui_thread_; |
83 FakeDriveService fake_service_; | 93 FakeDriveService fake_service_; |
84 }; | 94 }; |
85 | 95 |
86 TEST_F(FakeDriveServiceTest, GetResourceList_All) { | 96 TEST_F(FakeDriveServiceTest, GetResourceList_All) { |
87 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 97 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
88 "chromeos/gdata/root_feed.json")); | 98 "chromeos/gdata/root_feed.json")); |
89 | 99 |
90 GDataErrorCode error = GDATA_OTHER_ERROR; | 100 GDataErrorCode error = GDATA_OTHER_ERROR; |
(...skipping 596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
687 &output_file_path), | 697 &output_file_path), |
688 GetContentCallback()); | 698 GetContentCallback()); |
689 message_loop_.RunUntilIdle(); | 699 message_loop_.RunUntilIdle(); |
690 | 700 |
691 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 701 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
692 } | 702 } |
693 | 703 |
694 TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingHostedDocument) { | 704 TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingHostedDocument) { |
695 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 705 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
696 "chromeos/gdata/root_feed.json")); | 706 "chromeos/gdata/root_feed.json")); |
| 707 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 708 "chromeos/gdata/account_metadata.json")); |
| 709 |
| 710 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
697 | 711 |
698 const std::string kResourceId = "document:5_document_resource_id"; | 712 const std::string kResourceId = "document:5_document_resource_id"; |
699 GDataErrorCode error = GDATA_OTHER_ERROR; | 713 GDataErrorCode error = GDATA_OTHER_ERROR; |
700 scoped_ptr<ResourceEntry> resource_entry; | 714 scoped_ptr<ResourceEntry> resource_entry; |
701 fake_service_.CopyHostedDocument( | 715 fake_service_.CopyHostedDocument( |
702 kResourceId, | 716 kResourceId, |
703 "new name", | 717 "new name", |
704 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 718 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, |
705 &error, | 719 &error, |
706 &resource_entry)); | 720 &resource_entry)); |
707 message_loop_.RunUntilIdle(); | 721 message_loop_.RunUntilIdle(); |
708 | 722 |
709 EXPECT_EQ(HTTP_SUCCESS, error); | 723 EXPECT_EQ(HTTP_SUCCESS, error); |
710 ASSERT_TRUE(resource_entry); | 724 ASSERT_TRUE(resource_entry); |
711 // The copied entry should have the new resource ID and the title. | 725 // The copied entry should have the new resource ID and the title. |
712 EXPECT_EQ(kResourceId + "_copied", resource_entry->resource_id()); | 726 EXPECT_EQ(kResourceId + "_copied", resource_entry->resource_id()); |
713 EXPECT_EQ("new name", resource_entry->title()); | 727 EXPECT_EQ("new name", resource_entry->title()); |
714 // Should be incremented as a new hosted document was created. | 728 // Should be incremented as a new hosted document was created. |
715 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 729 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 730 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
716 } | 731 } |
717 | 732 |
718 TEST_F(FakeDriveServiceTest, CopyHostedDocument_NonexistingHostedDocument) { | 733 TEST_F(FakeDriveServiceTest, CopyHostedDocument_NonexistingHostedDocument) { |
719 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 734 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
720 "chromeos/gdata/root_feed.json")); | 735 "chromeos/gdata/root_feed.json")); |
721 | 736 |
722 const std::string kResourceId = "document:nonexisting_resource_id"; | 737 const std::string kResourceId = "document:nonexisting_resource_id"; |
723 GDataErrorCode error = GDATA_OTHER_ERROR; | 738 GDataErrorCode error = GDATA_OTHER_ERROR; |
724 scoped_ptr<ResourceEntry> resource_entry; | 739 scoped_ptr<ResourceEntry> resource_entry; |
725 fake_service_.CopyHostedDocument( | 740 fake_service_.CopyHostedDocument( |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
769 &resource_entry)); | 784 &resource_entry)); |
770 message_loop_.RunUntilIdle(); | 785 message_loop_.RunUntilIdle(); |
771 | 786 |
772 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 787 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
773 EXPECT_FALSE(resource_entry); | 788 EXPECT_FALSE(resource_entry); |
774 } | 789 } |
775 | 790 |
776 TEST_F(FakeDriveServiceTest, RenameResource_ExistingFile) { | 791 TEST_F(FakeDriveServiceTest, RenameResource_ExistingFile) { |
777 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 792 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
778 "chromeos/gdata/root_feed.json")); | 793 "chromeos/gdata/root_feed.json")); |
| 794 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 795 "chromeos/gdata/account_metadata.json")); |
| 796 |
| 797 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
779 | 798 |
780 const std::string kResourceId = "file:2_file_resource_id"; | 799 const std::string kResourceId = "file:2_file_resource_id"; |
781 | 800 |
782 GDataErrorCode error = GDATA_OTHER_ERROR; | 801 GDataErrorCode error = GDATA_OTHER_ERROR; |
783 fake_service_.RenameResource( | 802 fake_service_.RenameResource( |
784 kResourceId, | 803 kResourceId, |
785 "new name", | 804 "new name", |
786 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 805 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
787 &error)); | 806 &error)); |
788 message_loop_.RunUntilIdle(); | 807 message_loop_.RunUntilIdle(); |
789 | 808 |
790 EXPECT_EQ(HTTP_SUCCESS, error); | 809 EXPECT_EQ(HTTP_SUCCESS, error); |
791 | 810 |
792 scoped_ptr<ResourceEntry> resource_entry = FindEntry(kResourceId); | 811 scoped_ptr<ResourceEntry> resource_entry = FindEntry(kResourceId); |
793 ASSERT_TRUE(resource_entry); | 812 ASSERT_TRUE(resource_entry); |
794 EXPECT_EQ("new name", resource_entry->title()); | 813 EXPECT_EQ("new name", resource_entry->title()); |
795 // Should be incremented as a file was renamed. | 814 // Should be incremented as a file was renamed. |
796 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 815 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 816 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
797 } | 817 } |
798 | 818 |
799 TEST_F(FakeDriveServiceTest, RenameResource_NonexistingFile) { | 819 TEST_F(FakeDriveServiceTest, RenameResource_NonexistingFile) { |
800 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 820 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
801 "chromeos/gdata/root_feed.json")); | 821 "chromeos/gdata/root_feed.json")); |
802 | 822 |
803 const std::string kResourceId = "file:nonexisting_file"; | 823 const std::string kResourceId = "file:nonexisting_file"; |
804 | 824 |
805 GDataErrorCode error = GDATA_OTHER_ERROR; | 825 GDataErrorCode error = GDATA_OTHER_ERROR; |
806 fake_service_.RenameResource( | 826 fake_service_.RenameResource( |
(...skipping 20 matching lines...) Expand all Loading... |
827 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 847 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
828 &error)); | 848 &error)); |
829 message_loop_.RunUntilIdle(); | 849 message_loop_.RunUntilIdle(); |
830 | 850 |
831 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 851 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
832 } | 852 } |
833 | 853 |
834 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_FileInRootDirectory) { | 854 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_FileInRootDirectory) { |
835 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 855 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
836 "chromeos/gdata/root_feed.json")); | 856 "chromeos/gdata/root_feed.json")); |
| 857 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 858 "chromeos/gdata/account_metadata.json")); |
| 859 |
| 860 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
837 | 861 |
838 const std::string kResourceId = "file:2_file_resource_id"; | 862 const std::string kResourceId = "file:2_file_resource_id"; |
839 const std::string kOldParentResourceId = fake_service_.GetRootResourceId(); | 863 const std::string kOldParentResourceId = fake_service_.GetRootResourceId(); |
840 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; | 864 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; |
841 | 865 |
842 // Here's the original parent link. | 866 // Here's the original parent link. |
843 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); | 867 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); |
844 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); | 868 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); |
845 | 869 |
846 GDataErrorCode error = GDATA_OTHER_ERROR; | 870 GDataErrorCode error = GDATA_OTHER_ERROR; |
847 fake_service_.AddResourceToDirectory( | 871 fake_service_.AddResourceToDirectory( |
848 kNewParentResourceId, | 872 kNewParentResourceId, |
849 kResourceId, | 873 kResourceId, |
850 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 874 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
851 &error)); | 875 &error)); |
852 message_loop_.RunUntilIdle(); | 876 message_loop_.RunUntilIdle(); |
853 | 877 |
854 EXPECT_EQ(HTTP_SUCCESS, error); | 878 EXPECT_EQ(HTTP_SUCCESS, error); |
855 | 879 |
856 // The parent link should now be changed. | 880 // The parent link should now be changed. |
857 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); | 881 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); |
858 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); | 882 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); |
859 // Should be incremented as a file was moved. | 883 // Should be incremented as a file was moved. |
860 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 884 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 885 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
861 } | 886 } |
862 | 887 |
863 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_FileInNonRootDirectory) { | 888 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_FileInNonRootDirectory) { |
864 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 889 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
865 "chromeos/gdata/root_feed.json")); | 890 "chromeos/gdata/root_feed.json")); |
| 891 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 892 "chromeos/gdata/account_metadata.json")); |
| 893 |
| 894 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
866 | 895 |
867 const std::string kResourceId = "file:subdirectory_file_1_id"; | 896 const std::string kResourceId = "file:subdirectory_file_1_id"; |
868 const std::string kOldParentResourceId = "folder:1_folder_resource_id"; | 897 const std::string kOldParentResourceId = "folder:1_folder_resource_id"; |
869 const std::string kNewParentResourceId = "folder:2_folder_resource_id"; | 898 const std::string kNewParentResourceId = "folder:2_folder_resource_id"; |
870 | 899 |
871 // Here's the original parent link. | 900 // Here's the original parent link. |
872 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); | 901 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); |
873 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); | 902 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); |
874 | 903 |
875 GDataErrorCode error = GDATA_OTHER_ERROR; | 904 GDataErrorCode error = GDATA_OTHER_ERROR; |
876 fake_service_.AddResourceToDirectory( | 905 fake_service_.AddResourceToDirectory( |
877 kNewParentResourceId, | 906 kNewParentResourceId, |
878 kResourceId, | 907 kResourceId, |
879 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 908 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
880 &error)); | 909 &error)); |
881 message_loop_.RunUntilIdle(); | 910 message_loop_.RunUntilIdle(); |
882 | 911 |
883 EXPECT_EQ(HTTP_SUCCESS, error); | 912 EXPECT_EQ(HTTP_SUCCESS, error); |
884 | 913 |
885 // The parent link should now be changed. | 914 // The parent link should now be changed. |
886 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); | 915 EXPECT_TRUE(HasParent(kResourceId, kOldParentResourceId)); |
887 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); | 916 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); |
888 // Should be incremented as a file was moved. | 917 // Should be incremented as a file was moved. |
889 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 918 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 919 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
890 } | 920 } |
891 | 921 |
892 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_NonexistingFile) { | 922 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_NonexistingFile) { |
893 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 923 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
894 "chromeos/gdata/root_feed.json")); | 924 "chromeos/gdata/root_feed.json")); |
895 | 925 |
896 const std::string kResourceId = "file:nonexisting_file"; | 926 const std::string kResourceId = "file:nonexisting_file"; |
897 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; | 927 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; |
898 | 928 |
899 GDataErrorCode error = GDATA_OTHER_ERROR; | 929 GDataErrorCode error = GDATA_OTHER_ERROR; |
900 fake_service_.AddResourceToDirectory( | 930 fake_service_.AddResourceToDirectory( |
901 kNewParentResourceId, | 931 kNewParentResourceId, |
902 kResourceId, | 932 kResourceId, |
903 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 933 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
904 &error)); | 934 &error)); |
905 message_loop_.RunUntilIdle(); | 935 message_loop_.RunUntilIdle(); |
906 | 936 |
907 EXPECT_EQ(HTTP_NOT_FOUND, error); | 937 EXPECT_EQ(HTTP_NOT_FOUND, error); |
908 } | 938 } |
909 | 939 |
910 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_OrphanFile) { | 940 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_OrphanFile) { |
911 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 941 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
912 "chromeos/gdata/root_feed.json")); | 942 "chromeos/gdata/root_feed.json")); |
| 943 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 944 "chromeos/gdata/account_metadata.json")); |
| 945 |
| 946 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
913 | 947 |
914 const std::string kResourceId = "file:1_orphanfile_resource_id"; | 948 const std::string kResourceId = "file:1_orphanfile_resource_id"; |
915 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; | 949 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; |
916 | 950 |
917 // The file does not belong to any directory, even to the root. | 951 // The file does not belong to any directory, even to the root. |
918 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); | 952 EXPECT_FALSE(HasParent(kResourceId, kNewParentResourceId)); |
919 EXPECT_FALSE(HasParent(kResourceId, fake_service_.GetRootResourceId())); | 953 EXPECT_FALSE(HasParent(kResourceId, fake_service_.GetRootResourceId())); |
920 | 954 |
921 GDataErrorCode error = GDATA_OTHER_ERROR; | 955 GDataErrorCode error = GDATA_OTHER_ERROR; |
922 fake_service_.AddResourceToDirectory( | 956 fake_service_.AddResourceToDirectory( |
923 kNewParentResourceId, | 957 kNewParentResourceId, |
924 kResourceId, | 958 kResourceId, |
925 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 959 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
926 &error)); | 960 &error)); |
927 message_loop_.RunUntilIdle(); | 961 message_loop_.RunUntilIdle(); |
928 | 962 |
929 EXPECT_EQ(HTTP_SUCCESS, error); | 963 EXPECT_EQ(HTTP_SUCCESS, error); |
930 | 964 |
931 // The parent link should now be changed. | 965 // The parent link should now be changed. |
932 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); | 966 EXPECT_TRUE(HasParent(kResourceId, kNewParentResourceId)); |
933 EXPECT_FALSE(HasParent(kResourceId, fake_service_.GetRootResourceId())); | 967 EXPECT_FALSE(HasParent(kResourceId, fake_service_.GetRootResourceId())); |
934 // Should be incremented as a file was moved. | 968 // Should be incremented as a file was moved. |
935 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 969 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 970 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
936 } | 971 } |
937 | 972 |
938 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_Offline) { | 973 TEST_F(FakeDriveServiceTest, AddResourceToDirectory_Offline) { |
939 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 974 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
940 "chromeos/gdata/root_feed.json")); | 975 "chromeos/gdata/root_feed.json")); |
941 fake_service_.set_offline(true); | 976 fake_service_.set_offline(true); |
942 | 977 |
943 const std::string kResourceId = "file:2_file_resource_id"; | 978 const std::string kResourceId = "file:2_file_resource_id"; |
944 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; | 979 const std::string kNewParentResourceId = "folder:1_folder_resource_id"; |
945 | 980 |
946 GDataErrorCode error = GDATA_OTHER_ERROR; | 981 GDataErrorCode error = GDATA_OTHER_ERROR; |
947 fake_service_.AddResourceToDirectory( | 982 fake_service_.AddResourceToDirectory( |
948 kNewParentResourceId, | 983 kNewParentResourceId, |
949 kResourceId, | 984 kResourceId, |
950 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 985 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
951 &error)); | 986 &error)); |
952 message_loop_.RunUntilIdle(); | 987 message_loop_.RunUntilIdle(); |
953 | 988 |
954 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 989 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
955 } | 990 } |
956 | 991 |
957 TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_ExistingFile) { | 992 TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_ExistingFile) { |
958 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 993 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
959 "chromeos/gdata/root_feed.json")); | 994 "chromeos/gdata/root_feed.json")); |
| 995 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 996 "chromeos/gdata/account_metadata.json")); |
| 997 |
| 998 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
960 | 999 |
961 const std::string kResourceId = "file:subdirectory_file_1_id"; | 1000 const std::string kResourceId = "file:subdirectory_file_1_id"; |
962 const std::string kParentResourceId = "folder:1_folder_resource_id"; | 1001 const std::string kParentResourceId = "folder:1_folder_resource_id"; |
963 | 1002 |
964 scoped_ptr<ResourceEntry> resource_entry = FindEntry(kResourceId); | 1003 scoped_ptr<ResourceEntry> resource_entry = FindEntry(kResourceId); |
965 ASSERT_TRUE(resource_entry); | 1004 ASSERT_TRUE(resource_entry); |
966 // The parent link should exist now. | 1005 // The parent link should exist now. |
967 const google_apis::Link* parent_link = | 1006 const google_apis::Link* parent_link = |
968 resource_entry->GetLinkByType(Link::LINK_PARENT); | 1007 resource_entry->GetLinkByType(Link::LINK_PARENT); |
969 ASSERT_TRUE(parent_link); | 1008 ASSERT_TRUE(parent_link); |
970 | 1009 |
971 GDataErrorCode error = GDATA_OTHER_ERROR; | 1010 GDataErrorCode error = GDATA_OTHER_ERROR; |
972 fake_service_.RemoveResourceFromDirectory( | 1011 fake_service_.RemoveResourceFromDirectory( |
973 kParentResourceId, | 1012 kParentResourceId, |
974 kResourceId, | 1013 kResourceId, |
975 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 1014 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
976 &error)); | 1015 &error)); |
977 message_loop_.RunUntilIdle(); | 1016 message_loop_.RunUntilIdle(); |
978 | 1017 |
979 EXPECT_EQ(HTTP_SUCCESS, error); | 1018 EXPECT_EQ(HTTP_SUCCESS, error); |
980 | 1019 |
981 resource_entry = FindEntry(kResourceId); | 1020 resource_entry = FindEntry(kResourceId); |
982 ASSERT_TRUE(resource_entry); | 1021 ASSERT_TRUE(resource_entry); |
983 // The parent link should be gone now. | 1022 // The parent link should be gone now. |
984 parent_link = resource_entry->GetLinkByType(Link::LINK_PARENT); | 1023 parent_link = resource_entry->GetLinkByType(Link::LINK_PARENT); |
985 ASSERT_FALSE(parent_link); | 1024 ASSERT_FALSE(parent_link); |
986 // Should be incremented as a file was moved to the root directory. | 1025 // Should be incremented as a file was moved to the root directory. |
987 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 1026 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 1027 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
988 } | 1028 } |
989 | 1029 |
990 TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_NonexistingFile) { | 1030 TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_NonexistingFile) { |
991 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1031 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
992 "chromeos/gdata/root_feed.json")); | 1032 "chromeos/gdata/root_feed.json")); |
993 | 1033 |
994 const std::string kResourceId = "file:nonexisting_file"; | 1034 const std::string kResourceId = "file:nonexisting_file"; |
995 const std::string kParentResourceId = "folder:1_folder_resource_id"; | 1035 const std::string kParentResourceId = "folder:1_folder_resource_id"; |
996 | 1036 |
997 GDataErrorCode error = GDATA_OTHER_ERROR; | 1037 GDataErrorCode error = GDATA_OTHER_ERROR; |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1038 base::Bind(&test_util::CopyResultsFromEntryActionCallback, | 1078 base::Bind(&test_util::CopyResultsFromEntryActionCallback, |
1039 &error)); | 1079 &error)); |
1040 message_loop_.RunUntilIdle(); | 1080 message_loop_.RunUntilIdle(); |
1041 | 1081 |
1042 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 1082 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
1043 } | 1083 } |
1044 | 1084 |
1045 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectory) { | 1085 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectory) { |
1046 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1086 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1047 "chromeos/gdata/root_feed.json")); | 1087 "chromeos/gdata/root_feed.json")); |
| 1088 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 1089 "chromeos/gdata/account_metadata.json")); |
| 1090 |
| 1091 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1048 | 1092 |
1049 GDataErrorCode error = GDATA_OTHER_ERROR; | 1093 GDataErrorCode error = GDATA_OTHER_ERROR; |
1050 scoped_ptr<ResourceEntry> resource_entry; | 1094 scoped_ptr<ResourceEntry> resource_entry; |
1051 fake_service_.AddNewDirectory( | 1095 fake_service_.AddNewDirectory( |
1052 fake_service_.GetRootResourceId(), | 1096 fake_service_.GetRootResourceId(), |
1053 "new directory", | 1097 "new directory", |
1054 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1098 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, |
1055 &error, | 1099 &error, |
1056 &resource_entry)); | 1100 &resource_entry)); |
1057 message_loop_.RunUntilIdle(); | 1101 message_loop_.RunUntilIdle(); |
1058 | 1102 |
1059 EXPECT_EQ(HTTP_CREATED, error); | 1103 EXPECT_EQ(HTTP_CREATED, error); |
1060 ASSERT_TRUE(resource_entry); | 1104 ASSERT_TRUE(resource_entry); |
1061 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1105 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1062 EXPECT_EQ("new directory", resource_entry->title()); | 1106 EXPECT_EQ("new directory", resource_entry->title()); |
1063 EXPECT_TRUE(HasParent(resource_entry->resource_id(), | 1107 EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
1064 fake_service_.GetRootResourceId())); | 1108 fake_service_.GetRootResourceId())); |
1065 // Should be incremented as a new directory was created. | 1109 // Should be incremented as a new directory was created. |
1066 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 1110 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 1111 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1067 } | 1112 } |
1068 | 1113 |
1069 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectoryOnEmptyFileSystem) { | 1114 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectoryOnEmptyFileSystem) { |
1070 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1115 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1071 "chromeos/gdata/empty_feed.json")); | 1116 "chromeos/gdata/empty_feed.json")); |
| 1117 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 1118 "chromeos/gdata/account_metadata.json")); |
| 1119 |
| 1120 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1072 | 1121 |
1073 GDataErrorCode error = GDATA_OTHER_ERROR; | 1122 GDataErrorCode error = GDATA_OTHER_ERROR; |
1074 scoped_ptr<ResourceEntry> resource_entry; | 1123 scoped_ptr<ResourceEntry> resource_entry; |
1075 fake_service_.AddNewDirectory( | 1124 fake_service_.AddNewDirectory( |
1076 fake_service_.GetRootResourceId(), | 1125 fake_service_.GetRootResourceId(), |
1077 "new directory", | 1126 "new directory", |
1078 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1127 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, |
1079 &error, | 1128 &error, |
1080 &resource_entry)); | 1129 &resource_entry)); |
1081 message_loop_.RunUntilIdle(); | 1130 message_loop_.RunUntilIdle(); |
1082 | 1131 |
1083 EXPECT_EQ(HTTP_CREATED, error); | 1132 EXPECT_EQ(HTTP_CREATED, error); |
1084 ASSERT_TRUE(resource_entry); | 1133 ASSERT_TRUE(resource_entry); |
1085 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1134 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1086 EXPECT_EQ("new directory", resource_entry->title()); | 1135 EXPECT_EQ("new directory", resource_entry->title()); |
1087 EXPECT_TRUE(HasParent(resource_entry->resource_id(), | 1136 EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
1088 fake_service_.GetRootResourceId())); | 1137 fake_service_.GetRootResourceId())); |
1089 // Should be incremented as a new directory was created. | 1138 // Should be incremented as a new directory was created. |
1090 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 1139 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 1140 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1091 } | 1141 } |
1092 | 1142 |
1093 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonRootDirectory) { | 1143 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonRootDirectory) { |
1094 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1144 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1095 "chromeos/gdata/root_feed.json")); | 1145 "chromeos/gdata/root_feed.json")); |
| 1146 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| 1147 "chromeos/gdata/account_metadata.json")); |
| 1148 |
| 1149 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1096 | 1150 |
1097 const std::string kParentResourceId = "folder:1_folder_resource_id"; | 1151 const std::string kParentResourceId = "folder:1_folder_resource_id"; |
1098 | 1152 |
1099 GDataErrorCode error = GDATA_OTHER_ERROR; | 1153 GDataErrorCode error = GDATA_OTHER_ERROR; |
1100 scoped_ptr<ResourceEntry> resource_entry; | 1154 scoped_ptr<ResourceEntry> resource_entry; |
1101 fake_service_.AddNewDirectory( | 1155 fake_service_.AddNewDirectory( |
1102 kParentResourceId, | 1156 kParentResourceId, |
1103 "new directory", | 1157 "new directory", |
1104 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1158 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, |
1105 &error, | 1159 &error, |
1106 &resource_entry)); | 1160 &resource_entry)); |
1107 message_loop_.RunUntilIdle(); | 1161 message_loop_.RunUntilIdle(); |
1108 | 1162 |
1109 EXPECT_EQ(HTTP_CREATED, error); | 1163 EXPECT_EQ(HTTP_CREATED, error); |
1110 ASSERT_TRUE(resource_entry); | 1164 ASSERT_TRUE(resource_entry); |
1111 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1165 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1112 EXPECT_EQ("new directory", resource_entry->title()); | 1166 EXPECT_EQ("new directory", resource_entry->title()); |
1113 EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); | 1167 EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); |
1114 // Should be incremented as a new directory was created. | 1168 // Should be incremented as a new directory was created. |
1115 EXPECT_EQ(1, fake_service_.largest_changestamp()); | 1169 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| 1170 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1116 } | 1171 } |
1117 | 1172 |
1118 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonexistingDirectory) { | 1173 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonexistingDirectory) { |
1119 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1174 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1120 "chromeos/gdata/root_feed.json")); | 1175 "chromeos/gdata/root_feed.json")); |
1121 | 1176 |
1122 const std::string kParentResourceId = "folder:nonexisting_resource_id"; | 1177 const std::string kParentResourceId = "folder:nonexisting_resource_id"; |
1123 | 1178 |
1124 GDataErrorCode error = GDATA_OTHER_ERROR; | 1179 GDataErrorCode error = GDATA_OTHER_ERROR; |
1125 scoped_ptr<ResourceEntry> resource_entry; | 1180 scoped_ptr<ResourceEntry> resource_entry; |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1480 | 1535 |
1481 EXPECT_EQ(HTTP_CREATED, response.code); | 1536 EXPECT_EQ(HTTP_CREATED, response.code); |
1482 EXPECT_TRUE(entry.get()); | 1537 EXPECT_TRUE(entry.get()); |
1483 EXPECT_EQ(15L, entry->file_size()); | 1538 EXPECT_EQ(15L, entry->file_size()); |
1484 EXPECT_TRUE(Exists(entry->resource_id())); | 1539 EXPECT_TRUE(Exists(entry->resource_id())); |
1485 } | 1540 } |
1486 | 1541 |
1487 } // namespace | 1542 } // namespace |
1488 | 1543 |
1489 } // namespace google_apis | 1544 } // namespace google_apis |
OLD | NEW |