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

Unified Diff: chrome/browser/google_apis/fake_drive_service_unittest.cc

Issue 13510003: google_apis: Introduce AddNewFile() and SetLastModifiedTime() in FakeDriveService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/google_apis/fake_drive_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« 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