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 16 matching lines...) Expand all Loading... |
27 FakeDriveServiceTest() | 27 FakeDriveServiceTest() |
28 : ui_thread_(content::BrowserThread::UI, &message_loop_) { | 28 : ui_thread_(content::BrowserThread::UI, &message_loop_) { |
29 } | 29 } |
30 | 30 |
31 // Returns the resource entry that matches |resource_id|. | 31 // Returns the resource entry that matches |resource_id|. |
32 scoped_ptr<ResourceEntry> FindEntry(const std::string& resource_id) { | 32 scoped_ptr<ResourceEntry> FindEntry(const std::string& resource_id) { |
33 GDataErrorCode error = GDATA_OTHER_ERROR; | 33 GDataErrorCode error = GDATA_OTHER_ERROR; |
34 scoped_ptr<ResourceEntry> resource_entry; | 34 scoped_ptr<ResourceEntry> resource_entry; |
35 fake_service_.GetResourceEntry( | 35 fake_service_.GetResourceEntry( |
36 resource_id, | 36 resource_id, |
37 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 37 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
38 &error, | |
39 &resource_entry)); | |
40 message_loop_.RunUntilIdle(); | 38 message_loop_.RunUntilIdle(); |
41 return resource_entry.Pass(); | 39 return resource_entry.Pass(); |
42 } | 40 } |
43 | 41 |
44 // Returns true if the resource identified by |resource_id| exists. | 42 // Returns true if the resource identified by |resource_id| exists. |
45 bool Exists(const std::string& resource_id) { | 43 bool Exists(const std::string& resource_id) { |
46 scoped_ptr<ResourceEntry> resource_entry = FindEntry(resource_id); | 44 scoped_ptr<ResourceEntry> resource_entry = FindEntry(resource_id); |
47 return resource_entry; | 45 return resource_entry; |
48 } | 46 } |
49 | 47 |
50 // Adds a new directory at |parent_resource_id| with the given name. | 48 // Adds a new directory at |parent_resource_id| with the given name. |
51 // Returns true on success. | 49 // Returns true on success. |
52 bool AddNewDirectory(const std::string& parent_resource_id, | 50 bool AddNewDirectory(const std::string& parent_resource_id, |
53 const std::string& directory_name) { | 51 const std::string& directory_name) { |
54 GDataErrorCode error = GDATA_OTHER_ERROR; | 52 GDataErrorCode error = GDATA_OTHER_ERROR; |
55 scoped_ptr<ResourceEntry> resource_entry; | 53 scoped_ptr<ResourceEntry> resource_entry; |
56 fake_service_.AddNewDirectory( | 54 fake_service_.AddNewDirectory( |
57 parent_resource_id, | 55 parent_resource_id, |
58 directory_name, | 56 directory_name, |
59 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 57 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
60 &error, | |
61 &resource_entry)); | |
62 message_loop_.RunUntilIdle(); | 58 message_loop_.RunUntilIdle(); |
63 return error == HTTP_CREATED; | 59 return error == HTTP_CREATED; |
64 } | 60 } |
65 | 61 |
66 // Returns true if the resource identified by |resource_id| has a parent | 62 // Returns true if the resource identified by |resource_id| has a parent |
67 // identified by |parent_id|. | 63 // identified by |parent_id|. |
68 bool HasParent(const std::string& resource_id, const std::string& parent_id) { | 64 bool HasParent(const std::string& resource_id, const std::string& parent_id) { |
69 const GURL parent_url = FakeDriveService::GetFakeLinkUrl(parent_id); | 65 const GURL parent_url = FakeDriveService::GetFakeLinkUrl(parent_id); |
70 scoped_ptr<ResourceEntry> resource_entry = FindEntry(resource_id); | 66 scoped_ptr<ResourceEntry> resource_entry = FindEntry(resource_id); |
71 if (resource_entry.get()) { | 67 if (resource_entry.get()) { |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
514 | 510 |
515 TEST_F(FakeDriveServiceTest, GetResourceEntry_ExistingFile) { | 511 TEST_F(FakeDriveServiceTest, GetResourceEntry_ExistingFile) { |
516 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 512 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
517 "chromeos/gdata/root_feed.json")); | 513 "chromeos/gdata/root_feed.json")); |
518 | 514 |
519 const std::string kResourceId = "file:2_file_resource_id"; | 515 const std::string kResourceId = "file:2_file_resource_id"; |
520 GDataErrorCode error = GDATA_OTHER_ERROR; | 516 GDataErrorCode error = GDATA_OTHER_ERROR; |
521 scoped_ptr<ResourceEntry> resource_entry; | 517 scoped_ptr<ResourceEntry> resource_entry; |
522 fake_service_.GetResourceEntry( | 518 fake_service_.GetResourceEntry( |
523 kResourceId, | 519 kResourceId, |
524 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 520 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
525 &error, | |
526 &resource_entry)); | |
527 message_loop_.RunUntilIdle(); | 521 message_loop_.RunUntilIdle(); |
528 | 522 |
529 EXPECT_EQ(HTTP_SUCCESS, error); | 523 EXPECT_EQ(HTTP_SUCCESS, error); |
530 ASSERT_TRUE(resource_entry); | 524 ASSERT_TRUE(resource_entry); |
531 // Do some sanity check. | 525 // Do some sanity check. |
532 EXPECT_EQ(kResourceId, resource_entry->resource_id()); | 526 EXPECT_EQ(kResourceId, resource_entry->resource_id()); |
533 } | 527 } |
534 | 528 |
535 TEST_F(FakeDriveServiceTest, GetResourceEntry_NonexistingFile) { | 529 TEST_F(FakeDriveServiceTest, GetResourceEntry_NonexistingFile) { |
536 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 530 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
537 "chromeos/gdata/root_feed.json")); | 531 "chromeos/gdata/root_feed.json")); |
538 | 532 |
539 const std::string kResourceId = "file:nonexisting_resource_id"; | 533 const std::string kResourceId = "file:nonexisting_resource_id"; |
540 GDataErrorCode error = GDATA_OTHER_ERROR; | 534 GDataErrorCode error = GDATA_OTHER_ERROR; |
541 scoped_ptr<ResourceEntry> resource_entry; | 535 scoped_ptr<ResourceEntry> resource_entry; |
542 fake_service_.GetResourceEntry( | 536 fake_service_.GetResourceEntry( |
543 kResourceId, | 537 kResourceId, |
544 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 538 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
545 &error, | |
546 &resource_entry)); | |
547 message_loop_.RunUntilIdle(); | 539 message_loop_.RunUntilIdle(); |
548 | 540 |
549 EXPECT_EQ(HTTP_NOT_FOUND, error); | 541 EXPECT_EQ(HTTP_NOT_FOUND, error); |
550 ASSERT_FALSE(resource_entry); | 542 ASSERT_FALSE(resource_entry); |
551 } | 543 } |
552 | 544 |
553 TEST_F(FakeDriveServiceTest, GetResourceEntry_Offline) { | 545 TEST_F(FakeDriveServiceTest, GetResourceEntry_Offline) { |
554 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 546 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
555 "chromeos/gdata/root_feed.json")); | 547 "chromeos/gdata/root_feed.json")); |
556 fake_service_.set_offline(true); | 548 fake_service_.set_offline(true); |
557 | 549 |
558 const std::string kResourceId = "file:2_file_resource_id"; | 550 const std::string kResourceId = "file:2_file_resource_id"; |
559 GDataErrorCode error = GDATA_OTHER_ERROR; | 551 GDataErrorCode error = GDATA_OTHER_ERROR; |
560 scoped_ptr<ResourceEntry> resource_entry; | 552 scoped_ptr<ResourceEntry> resource_entry; |
561 fake_service_.GetResourceEntry( | 553 fake_service_.GetResourceEntry( |
562 kResourceId, | 554 kResourceId, |
563 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 555 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
564 &error, | |
565 &resource_entry)); | |
566 message_loop_.RunUntilIdle(); | 556 message_loop_.RunUntilIdle(); |
567 | 557 |
568 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 558 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
569 EXPECT_FALSE(resource_entry); | 559 EXPECT_FALSE(resource_entry); |
570 } | 560 } |
571 | 561 |
572 TEST_F(FakeDriveServiceTest, DeleteResource_ExistingFile) { | 562 TEST_F(FakeDriveServiceTest, DeleteResource_ExistingFile) { |
573 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 563 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
574 "chromeos/gdata/root_feed.json")); | 564 "chromeos/gdata/root_feed.json")); |
575 | 565 |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 "chromeos/gdata/account_metadata.json")); | 692 "chromeos/gdata/account_metadata.json")); |
703 | 693 |
704 int64 old_largest_change_id = GetLargestChangeByAboutResource(); | 694 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
705 | 695 |
706 const std::string kResourceId = "document:5_document_resource_id"; | 696 const std::string kResourceId = "document:5_document_resource_id"; |
707 GDataErrorCode error = GDATA_OTHER_ERROR; | 697 GDataErrorCode error = GDATA_OTHER_ERROR; |
708 scoped_ptr<ResourceEntry> resource_entry; | 698 scoped_ptr<ResourceEntry> resource_entry; |
709 fake_service_.CopyHostedDocument( | 699 fake_service_.CopyHostedDocument( |
710 kResourceId, | 700 kResourceId, |
711 "new name", | 701 "new name", |
712 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 702 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
713 &error, | |
714 &resource_entry)); | |
715 message_loop_.RunUntilIdle(); | 703 message_loop_.RunUntilIdle(); |
716 | 704 |
717 EXPECT_EQ(HTTP_SUCCESS, error); | 705 EXPECT_EQ(HTTP_SUCCESS, error); |
718 ASSERT_TRUE(resource_entry); | 706 ASSERT_TRUE(resource_entry); |
719 // The copied entry should have the new resource ID and the title. | 707 // The copied entry should have the new resource ID and the title. |
720 EXPECT_EQ(kResourceId + "_copied", resource_entry->resource_id()); | 708 EXPECT_EQ(kResourceId + "_copied", resource_entry->resource_id()); |
721 EXPECT_EQ("new name", resource_entry->title()); | 709 EXPECT_EQ("new name", resource_entry->title()); |
722 // Should be incremented as a new hosted document was created. | 710 // Should be incremented as a new hosted document was created. |
723 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); | 711 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
724 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); | 712 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
725 } | 713 } |
726 | 714 |
727 TEST_F(FakeDriveServiceTest, CopyHostedDocument_NonexistingHostedDocument) { | 715 TEST_F(FakeDriveServiceTest, CopyHostedDocument_NonexistingHostedDocument) { |
728 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 716 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
729 "chromeos/gdata/root_feed.json")); | 717 "chromeos/gdata/root_feed.json")); |
730 | 718 |
731 const std::string kResourceId = "document:nonexisting_resource_id"; | 719 const std::string kResourceId = "document:nonexisting_resource_id"; |
732 GDataErrorCode error = GDATA_OTHER_ERROR; | 720 GDataErrorCode error = GDATA_OTHER_ERROR; |
733 scoped_ptr<ResourceEntry> resource_entry; | 721 scoped_ptr<ResourceEntry> resource_entry; |
734 fake_service_.CopyHostedDocument( | 722 fake_service_.CopyHostedDocument( |
735 kResourceId, | 723 kResourceId, |
736 "new name", | 724 "new name", |
737 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 725 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
738 &error, | |
739 &resource_entry)); | |
740 message_loop_.RunUntilIdle(); | 726 message_loop_.RunUntilIdle(); |
741 | 727 |
742 EXPECT_EQ(HTTP_NOT_FOUND, error); | 728 EXPECT_EQ(HTTP_NOT_FOUND, error); |
743 } | 729 } |
744 | 730 |
745 TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingRegularFile) { | 731 TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingRegularFile) { |
746 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 732 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
747 "chromeos/gdata/root_feed.json")); | 733 "chromeos/gdata/root_feed.json")); |
748 | 734 |
749 const std::string kResourceId = "file:2_file_resource_id"; | 735 const std::string kResourceId = "file:2_file_resource_id"; |
750 GDataErrorCode error = GDATA_OTHER_ERROR; | 736 GDataErrorCode error = GDATA_OTHER_ERROR; |
751 scoped_ptr<ResourceEntry> resource_entry; | 737 scoped_ptr<ResourceEntry> resource_entry; |
752 fake_service_.CopyHostedDocument( | 738 fake_service_.CopyHostedDocument( |
753 kResourceId, | 739 kResourceId, |
754 "new name", | 740 "new name", |
755 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 741 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
756 &error, | |
757 &resource_entry)); | |
758 message_loop_.RunUntilIdle(); | 742 message_loop_.RunUntilIdle(); |
759 | 743 |
760 // The copy should fail as this is not a hosted document. | 744 // The copy should fail as this is not a hosted document. |
761 EXPECT_EQ(HTTP_NOT_FOUND, error); | 745 EXPECT_EQ(HTTP_NOT_FOUND, error); |
762 EXPECT_FALSE(resource_entry); | 746 EXPECT_FALSE(resource_entry); |
763 } | 747 } |
764 | 748 |
765 TEST_F(FakeDriveServiceTest, CopyHostedDocument_Offline) { | 749 TEST_F(FakeDriveServiceTest, CopyHostedDocument_Offline) { |
766 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 750 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
767 "chromeos/gdata/root_feed.json")); | 751 "chromeos/gdata/root_feed.json")); |
768 fake_service_.set_offline(true); | 752 fake_service_.set_offline(true); |
769 | 753 |
770 const std::string kResourceId = "document:5_document_resource_id"; | 754 const std::string kResourceId = "document:5_document_resource_id"; |
771 GDataErrorCode error = GDATA_OTHER_ERROR; | 755 GDataErrorCode error = GDATA_OTHER_ERROR; |
772 scoped_ptr<ResourceEntry> resource_entry; | 756 scoped_ptr<ResourceEntry> resource_entry; |
773 fake_service_.CopyHostedDocument( | 757 fake_service_.CopyHostedDocument( |
774 kResourceId, | 758 kResourceId, |
775 "new name", | 759 "new name", |
776 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 760 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
777 &error, | |
778 &resource_entry)); | |
779 message_loop_.RunUntilIdle(); | 761 message_loop_.RunUntilIdle(); |
780 | 762 |
781 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 763 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
782 EXPECT_FALSE(resource_entry); | 764 EXPECT_FALSE(resource_entry); |
783 } | 765 } |
784 | 766 |
785 TEST_F(FakeDriveServiceTest, RenameResource_ExistingFile) { | 767 TEST_F(FakeDriveServiceTest, RenameResource_ExistingFile) { |
786 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 768 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
787 "chromeos/gdata/root_feed.json")); | 769 "chromeos/gdata/root_feed.json")); |
788 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( | 770 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1067 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( | 1049 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
1068 "chromeos/gdata/account_metadata.json")); | 1050 "chromeos/gdata/account_metadata.json")); |
1069 | 1051 |
1070 int64 old_largest_change_id = GetLargestChangeByAboutResource(); | 1052 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1071 | 1053 |
1072 GDataErrorCode error = GDATA_OTHER_ERROR; | 1054 GDataErrorCode error = GDATA_OTHER_ERROR; |
1073 scoped_ptr<ResourceEntry> resource_entry; | 1055 scoped_ptr<ResourceEntry> resource_entry; |
1074 fake_service_.AddNewDirectory( | 1056 fake_service_.AddNewDirectory( |
1075 fake_service_.GetRootResourceId(), | 1057 fake_service_.GetRootResourceId(), |
1076 "new directory", | 1058 "new directory", |
1077 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1059 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
1078 &error, | |
1079 &resource_entry)); | |
1080 message_loop_.RunUntilIdle(); | 1060 message_loop_.RunUntilIdle(); |
1081 | 1061 |
1082 EXPECT_EQ(HTTP_CREATED, error); | 1062 EXPECT_EQ(HTTP_CREATED, error); |
1083 ASSERT_TRUE(resource_entry); | 1063 ASSERT_TRUE(resource_entry); |
1084 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1064 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1085 EXPECT_EQ("new directory", resource_entry->title()); | 1065 EXPECT_EQ("new directory", resource_entry->title()); |
1086 EXPECT_TRUE(HasParent(resource_entry->resource_id(), | 1066 EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
1087 fake_service_.GetRootResourceId())); | 1067 fake_service_.GetRootResourceId())); |
1088 // Should be incremented as a new directory was created. | 1068 // Should be incremented as a new directory was created. |
1089 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); | 1069 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
1090 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); | 1070 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1091 } | 1071 } |
1092 | 1072 |
1093 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectoryOnEmptyFileSystem) { | 1073 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectoryOnEmptyFileSystem) { |
1094 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1074 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1095 "chromeos/gdata/empty_feed.json")); | 1075 "chromeos/gdata/empty_feed.json")); |
1096 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( | 1076 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
1097 "chromeos/gdata/account_metadata.json")); | 1077 "chromeos/gdata/account_metadata.json")); |
1098 | 1078 |
1099 int64 old_largest_change_id = GetLargestChangeByAboutResource(); | 1079 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1100 | 1080 |
1101 GDataErrorCode error = GDATA_OTHER_ERROR; | 1081 GDataErrorCode error = GDATA_OTHER_ERROR; |
1102 scoped_ptr<ResourceEntry> resource_entry; | 1082 scoped_ptr<ResourceEntry> resource_entry; |
1103 fake_service_.AddNewDirectory( | 1083 fake_service_.AddNewDirectory( |
1104 fake_service_.GetRootResourceId(), | 1084 fake_service_.GetRootResourceId(), |
1105 "new directory", | 1085 "new directory", |
1106 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1086 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
1107 &error, | |
1108 &resource_entry)); | |
1109 message_loop_.RunUntilIdle(); | 1087 message_loop_.RunUntilIdle(); |
1110 | 1088 |
1111 EXPECT_EQ(HTTP_CREATED, error); | 1089 EXPECT_EQ(HTTP_CREATED, error); |
1112 ASSERT_TRUE(resource_entry); | 1090 ASSERT_TRUE(resource_entry); |
1113 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1091 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1114 EXPECT_EQ("new directory", resource_entry->title()); | 1092 EXPECT_EQ("new directory", resource_entry->title()); |
1115 EXPECT_TRUE(HasParent(resource_entry->resource_id(), | 1093 EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
1116 fake_service_.GetRootResourceId())); | 1094 fake_service_.GetRootResourceId())); |
1117 // Should be incremented as a new directory was created. | 1095 // Should be incremented as a new directory was created. |
1118 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); | 1096 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
1119 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); | 1097 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1120 } | 1098 } |
1121 | 1099 |
1122 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonRootDirectory) { | 1100 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonRootDirectory) { |
1123 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1101 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1124 "chromeos/gdata/root_feed.json")); | 1102 "chromeos/gdata/root_feed.json")); |
1125 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( | 1103 ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
1126 "chromeos/gdata/account_metadata.json")); | 1104 "chromeos/gdata/account_metadata.json")); |
1127 | 1105 |
1128 int64 old_largest_change_id = GetLargestChangeByAboutResource(); | 1106 int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
1129 | 1107 |
1130 const std::string kParentResourceId = "folder:1_folder_resource_id"; | 1108 const std::string kParentResourceId = "folder:1_folder_resource_id"; |
1131 | 1109 |
1132 GDataErrorCode error = GDATA_OTHER_ERROR; | 1110 GDataErrorCode error = GDATA_OTHER_ERROR; |
1133 scoped_ptr<ResourceEntry> resource_entry; | 1111 scoped_ptr<ResourceEntry> resource_entry; |
1134 fake_service_.AddNewDirectory( | 1112 fake_service_.AddNewDirectory( |
1135 kParentResourceId, | 1113 kParentResourceId, |
1136 "new directory", | 1114 "new directory", |
1137 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1115 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
1138 &error, | |
1139 &resource_entry)); | |
1140 message_loop_.RunUntilIdle(); | 1116 message_loop_.RunUntilIdle(); |
1141 | 1117 |
1142 EXPECT_EQ(HTTP_CREATED, error); | 1118 EXPECT_EQ(HTTP_CREATED, error); |
1143 ASSERT_TRUE(resource_entry); | 1119 ASSERT_TRUE(resource_entry); |
1144 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); | 1120 EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
1145 EXPECT_EQ("new directory", resource_entry->title()); | 1121 EXPECT_EQ("new directory", resource_entry->title()); |
1146 EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); | 1122 EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); |
1147 // Should be incremented as a new directory was created. | 1123 // Should be incremented as a new directory was created. |
1148 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); | 1124 EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
1149 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); | 1125 EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
1150 } | 1126 } |
1151 | 1127 |
1152 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonexistingDirectory) { | 1128 TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonexistingDirectory) { |
1153 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1129 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1154 "chromeos/gdata/root_feed.json")); | 1130 "chromeos/gdata/root_feed.json")); |
1155 | 1131 |
1156 const std::string kParentResourceId = "folder:nonexisting_resource_id"; | 1132 const std::string kParentResourceId = "folder:nonexisting_resource_id"; |
1157 | 1133 |
1158 GDataErrorCode error = GDATA_OTHER_ERROR; | 1134 GDataErrorCode error = GDATA_OTHER_ERROR; |
1159 scoped_ptr<ResourceEntry> resource_entry; | 1135 scoped_ptr<ResourceEntry> resource_entry; |
1160 fake_service_.AddNewDirectory( | 1136 fake_service_.AddNewDirectory( |
1161 kParentResourceId, | 1137 kParentResourceId, |
1162 "new directory", | 1138 "new directory", |
1163 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1139 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
1164 &error, | |
1165 &resource_entry)); | |
1166 message_loop_.RunUntilIdle(); | 1140 message_loop_.RunUntilIdle(); |
1167 | 1141 |
1168 EXPECT_EQ(HTTP_NOT_FOUND, error); | 1142 EXPECT_EQ(HTTP_NOT_FOUND, error); |
1169 EXPECT_FALSE(resource_entry); | 1143 EXPECT_FALSE(resource_entry); |
1170 } | 1144 } |
1171 | 1145 |
1172 TEST_F(FakeDriveServiceTest, AddNewDirectory_Offline) { | 1146 TEST_F(FakeDriveServiceTest, AddNewDirectory_Offline) { |
1173 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1147 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1174 "chromeos/gdata/root_feed.json")); | 1148 "chromeos/gdata/root_feed.json")); |
1175 fake_service_.set_offline(true); | 1149 fake_service_.set_offline(true); |
1176 | 1150 |
1177 GDataErrorCode error = GDATA_OTHER_ERROR; | 1151 GDataErrorCode error = GDATA_OTHER_ERROR; |
1178 scoped_ptr<ResourceEntry> resource_entry; | 1152 scoped_ptr<ResourceEntry> resource_entry; |
1179 fake_service_.AddNewDirectory( | 1153 fake_service_.AddNewDirectory( |
1180 fake_service_.GetRootResourceId(), | 1154 fake_service_.GetRootResourceId(), |
1181 "new directory", | 1155 "new directory", |
1182 base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback, | 1156 test_util::CreateCopyResultCallback(&error, &resource_entry)); |
1183 &error, | |
1184 &resource_entry)); | |
1185 message_loop_.RunUntilIdle(); | 1157 message_loop_.RunUntilIdle(); |
1186 | 1158 |
1187 EXPECT_EQ(GDATA_NO_CONNECTION, error); | 1159 EXPECT_EQ(GDATA_NO_CONNECTION, error); |
1188 EXPECT_FALSE(resource_entry); | 1160 EXPECT_FALSE(resource_entry); |
1189 } | 1161 } |
1190 | 1162 |
1191 TEST_F(FakeDriveServiceTest, InitiateUploadNewFile_Offline) { | 1163 TEST_F(FakeDriveServiceTest, InitiateUploadNewFile_Offline) { |
1192 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( | 1164 ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
1193 "chromeos/gdata/root_feed.json")); | 1165 "chromeos/gdata/root_feed.json")); |
1194 fake_service_.set_offline(true); | 1166 fake_service_.set_offline(true); |
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1514 | 1486 |
1515 EXPECT_EQ(HTTP_CREATED, response.code); | 1487 EXPECT_EQ(HTTP_CREATED, response.code); |
1516 EXPECT_TRUE(entry.get()); | 1488 EXPECT_TRUE(entry.get()); |
1517 EXPECT_EQ(15L, entry->file_size()); | 1489 EXPECT_EQ(15L, entry->file_size()); |
1518 EXPECT_TRUE(Exists(entry->resource_id())); | 1490 EXPECT_TRUE(Exists(entry->resource_id())); |
1519 } | 1491 } |
1520 | 1492 |
1521 } // namespace | 1493 } // namespace |
1522 | 1494 |
1523 } // namespace google_apis | 1495 } // namespace google_apis |
OLD | NEW |