Chromium Code Reviews| Index: chrome/browser/google_apis/fake_drive_service_unittest.cc |
| diff --git a/chrome/browser/google_apis/fake_drive_service_unittest.cc b/chrome/browser/google_apis/fake_drive_service_unittest.cc |
| index 4aadfbaca4b238d4dbb4245043fd67a92aec7649..ceb52b40df3c9a1bfc5eaaee99c9cbe2803954ee 100644 |
| --- a/chrome/browser/google_apis/fake_drive_service_unittest.cc |
| +++ b/chrome/browser/google_apis/fake_drive_service_unittest.cc |
| @@ -1020,6 +1020,7 @@ TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectory) { |
| EXPECT_EQ(HTTP_CREATED, error); |
| ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_folder()); |
| EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| EXPECT_EQ("new directory", resource_entry->title()); |
| EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
| @@ -1047,6 +1048,7 @@ TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectoryOnEmptyFileSystem) { |
| EXPECT_EQ(HTTP_CREATED, error); |
| ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_folder()); |
| EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| EXPECT_EQ("new directory", resource_entry->title()); |
| EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
| @@ -1076,6 +1078,7 @@ TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonRootDirectory) { |
| EXPECT_EQ(HTTP_CREATED, error); |
| ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_folder()); |
| EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| EXPECT_EQ("new directory", resource_entry->title()); |
| EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); |
| @@ -1421,6 +1424,222 @@ TEST_F(FakeDriveServiceTest, ResumeUpload_NewFile) { |
| EXPECT_TRUE(Exists(entry->resource_id())); |
| } |
| +TEST_F(FakeDriveServiceTest, AddNewFile_ToRootDirectory) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| + "chromeos/gdata/account_metadata.json")); |
| + |
| + int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
| + |
| + const std::string kContentType = "text/plain"; |
| + const int64 kContentSize = 123; |
| + const std::string kTitle = "new file"; |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.AddNewFile( |
| + kContentType, |
| + kContentSize, |
| + fake_service_.GetRootResourceId(), |
| + kTitle, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_CREATED, error); |
| + ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_file()); |
| + EXPECT_EQ(kContentType, resource_entry->content_mime_type()); |
| + EXPECT_EQ(kContentSize, resource_entry->file_size()); |
| + EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| + EXPECT_EQ(kTitle, resource_entry->title()); |
| + EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
| + fake_service_.GetRootResourceId())); |
| + // Should be incremented as a new directory was created. |
| + EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| + EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, AddNewFile_ToRootDirectoryOnEmptyFileSystem) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/empty_feed.json")); |
| + ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| + "chromeos/gdata/account_metadata.json")); |
| + |
| + int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
| + |
| + const std::string kContentType = "text/plain"; |
| + const int64 kContentSize = 123; |
| + const std::string kTitle = "new file"; |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.AddNewFile( |
| + kContentType, |
| + kContentSize, |
| + fake_service_.GetRootResourceId(), |
| + kTitle, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_CREATED, error); |
| + ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_file()); |
| + EXPECT_EQ(kContentType, resource_entry->content_mime_type()); |
| + EXPECT_EQ(kContentSize, resource_entry->file_size()); |
| + EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| + EXPECT_EQ(kTitle, resource_entry->title()); |
| + EXPECT_TRUE(HasParent(resource_entry->resource_id(), |
| + fake_service_.GetRootResourceId())); |
| + // Should be incremented as a new directory was created. |
| + EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| + EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, AddNewFile_ToNonRootDirectory) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi( |
| + "chromeos/gdata/account_metadata.json")); |
| + |
| + int64 old_largest_change_id = GetLargestChangeByAboutResource(); |
| + |
| + const std::string kContentType = "text/plain"; |
| + const int64 kContentSize = 123; |
| + const std::string kTitle = "new file"; |
| + const std::string kParentResourceId = "folder:1_folder_resource_id"; |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.AddNewFile( |
| + kContentType, |
| + kContentSize, |
| + kParentResourceId, |
| + kTitle, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_CREATED, error); |
| + ASSERT_TRUE(resource_entry); |
| + EXPECT_TRUE(resource_entry->is_file()); |
| + EXPECT_EQ(kContentType, resource_entry->content_mime_type()); |
| + EXPECT_EQ(kContentSize, resource_entry->file_size()); |
| + EXPECT_EQ("resource_id_1", resource_entry->resource_id()); |
| + EXPECT_EQ(kTitle, resource_entry->title()); |
| + EXPECT_TRUE(HasParent(resource_entry->resource_id(), kParentResourceId)); |
| + // Should be incremented as a new directory was created. |
| + EXPECT_EQ(old_largest_change_id + 1, fake_service_.largest_changestamp()); |
| + EXPECT_EQ(old_largest_change_id + 1, GetLargestChangeByAboutResource()); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, AddNewFile_ToNonexistingDirectory) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + |
| + const std::string kContentType = "text/plain"; |
| + const int64 kContentSize = 123; |
| + const std::string kTitle = "new file"; |
| + const std::string kParentResourceId = "folder:nonexisting_resource_id"; |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.AddNewFile( |
| + kContentType, |
| + kContentSize, |
| + kParentResourceId, |
| + kTitle, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_NOT_FOUND, error); |
| + EXPECT_FALSE(resource_entry); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, AddNewFile_Offline) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + fake_service_.set_offline(true); |
| + |
| + const std::string kContentType = "text/plain"; |
| + const int64 kContentSize = 123; |
| + const std::string kTitle = "new file"; |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.AddNewFile( |
| + kContentType, |
| + kContentSize, |
| + fake_service_.GetRootResourceId(), |
| + kTitle, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(GDATA_NO_CONNECTION, error); |
| + EXPECT_FALSE(resource_entry); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, SetLastModifiedTime_ExistingFile) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + |
| + const std::string kResourceId = "file:2_file_resource_id"; |
| + base::Time time; |
| + ASSERT_TRUE(base::Time::FromString("1 April 2013 12:34:56", &time)); |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.SetLastModifiedTime( |
| + kResourceId, |
| + time, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_CREATED, error); |
|
kinaba
2013/04/03 08:17:33
HTTP_SUCCESS?
satorux1
2013/04/03 08:33:32
Done.
|
| + ASSERT_TRUE(resource_entry); |
| + EXPECT_EQ(time, resource_entry->updated_time()); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, SetLastModifiedTime_NonexistingFile) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + |
| + const std::string kResourceId = "file:nonexisting_resource_id"; |
| + base::Time time; |
| + ASSERT_TRUE(base::Time::FromString("1 April 2013 12:34:56", &time)); |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.SetLastModifiedTime( |
| + kResourceId, |
| + time, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(HTTP_NOT_FOUND, error); |
| + EXPECT_FALSE(resource_entry); |
| +} |
| + |
| +TEST_F(FakeDriveServiceTest, SetLastModifiedTime_Offline) { |
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi( |
| + "chromeos/gdata/root_feed.json")); |
| + fake_service_.set_offline(true); |
| + |
| + const std::string kResourceId = "file:2_file_resource_id"; |
| + base::Time time; |
| + ASSERT_TRUE(base::Time::FromString("1 April 2013 12:34:56", &time)); |
| + |
| + GDataErrorCode error = GDATA_OTHER_ERROR; |
| + scoped_ptr<ResourceEntry> resource_entry; |
| + fake_service_.SetLastModifiedTime( |
| + kResourceId, |
| + time, |
| + test_util::CreateCopyResultCallback(&error, &resource_entry)); |
| + message_loop_.RunUntilIdle(); |
| + |
| + EXPECT_EQ(GDATA_NO_CONNECTION, error); |
| + EXPECT_FALSE(resource_entry); |
| +} |
| + |
| } // namespace |
| } // namespace google_apis |