| 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..aa9d429152854e5dbc05a93d372bb3e5d2fd11f2 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_SUCCESS, error);
|
| + 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
|
|
|