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

Side by Side Diff: chrome/browser/google_apis/fake_drive_service_unittest.cc

Issue 12700005: Support large_changestamp on GetAboutResource and GetAccountMetadata. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 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
« no previous file with comments | « chrome/browser/google_apis/fake_drive_service.cc ('k') | 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/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
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « chrome/browser/google_apis/fake_drive_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698