| 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 3bfd83ca37f0d15664d977cd880d0d1d9e01bbd2..ea864128da67134e5be7ead06981045c1e77ab90 100644
|
| --- a/chrome/browser/google_apis/fake_drive_service_unittest.cc
|
| +++ b/chrome/browser/google_apis/fake_drive_service_unittest.cc
|
| @@ -68,6 +68,27 @@ TEST_F(FakeDriveServiceTest, GetResourceList) {
|
| EXPECT_EQ(12U, resource_list->entries().size());
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, GetResourceList_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<ResourceList> resource_list;
|
| + fake_service_.GetResourceList(
|
| + GURL(),
|
| + 0, // start_changestamp
|
| + "", // search_query
|
| + false, // shared_with_me
|
| + "", // directory_resource_id
|
| + base::Bind(&test_util::CopyResultsFromGetResourceListCallback,
|
| + &error,
|
| + &resource_list));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(resource_list);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, GetAccountMetadata) {
|
| ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi(
|
| "gdata/account_metadata.json"));
|
| @@ -87,6 +108,23 @@ TEST_F(FakeDriveServiceTest, GetAccountMetadata) {
|
| EXPECT_EQ(2U, account_metadata->installed_apps().size());
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, GetAccountMetadata_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadAccountMetadataForWapi(
|
| + "gdata/account_metadata.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<AccountMetadataFeed> account_metadata;
|
| + fake_service_.GetAccountMetadata(
|
| + base::Bind(&test_util::CopyResultsFromGetAccountMetadataCallback,
|
| + &error,
|
| + &account_metadata));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(account_metadata);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, GetApplicationInfo) {
|
| ASSERT_TRUE(fake_service_.LoadApplicationInfoForDriveApi(
|
| "drive/applist.json"));
|
| @@ -104,6 +142,23 @@ TEST_F(FakeDriveServiceTest, GetApplicationInfo) {
|
| ASSERT_TRUE(app_info);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, GetApplicationInfo_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadApplicationInfoForDriveApi(
|
| + "drive/applist.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<base::Value> app_info;
|
| + fake_service_.GetApplicationInfo(
|
| + base::Bind(&test_util::CopyResultsFromGetDataCallback,
|
| + &error,
|
| + &app_info));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(app_info);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, GetResourceEntry_ExistingFile) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -140,6 +195,24 @@ TEST_F(FakeDriveServiceTest, GetResourceEntry_NonexistingFile) {
|
| ASSERT_FALSE(resource_entry);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, GetResourceEntry_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + const std::string kResourceId = "file:2_file_resource_id";
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<ResourceEntry> resource_entry;
|
| + fake_service_.GetResourceEntry(
|
| + kResourceId,
|
| + base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback,
|
| + &error,
|
| + &resource_entry));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(resource_entry);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, DeleteResource_ExistingFile) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -171,6 +244,20 @@ TEST_F(FakeDriveServiceTest, DeleteResource_NonexistingFile) {
|
| EXPECT_EQ(HTTP_NOT_FOUND, error);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, DeleteResource_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + fake_service_.DeleteResource(
|
| + GURL("https://file1_link_self/file:2_file_resource_id"),
|
| + base::Bind(&test_util::CopyResultsFromEntryActionCallback,
|
| + &error));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, DownloadFile_ExistingFile) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -221,6 +308,30 @@ TEST_F(FakeDriveServiceTest, DownloadFile_NonexistingFile) {
|
| EXPECT_EQ(HTTP_NOT_FOUND, error);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, DownloadFile_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + base::ScopedTempDir temp_dir;
|
| + ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
|
| +
|
| + const GURL kContentUrl("https://file_content_url/");
|
| + const FilePath kOutputFilePath = temp_dir.path().AppendASCII("whatever.txt");
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + FilePath output_file_path;
|
| + fake_service_.DownloadFile(
|
| + FilePath::FromUTF8Unsafe("/drive/whatever.txt"), // virtual path
|
| + kOutputFilePath,
|
| + kContentUrl,
|
| + base::Bind(&test_util::CopyResultsFromDownloadActionCallback,
|
| + &error,
|
| + &output_file_path),
|
| + GetContentCallback());
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingHostedDocument) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -279,6 +390,25 @@ TEST_F(FakeDriveServiceTest, CopyHostedDocument_ExistingRegularFile) {
|
| EXPECT_FALSE(resource_entry);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, CopyHostedDocument_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + const std::string kResourceId = "document:5_document_resource_id";
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<ResourceEntry> resource_entry;
|
| + fake_service_.CopyHostedDocument(
|
| + kResourceId,
|
| + FILE_PATH_LITERAL("new name"),
|
| + base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback,
|
| + &error,
|
| + &resource_entry));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(resource_entry);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, RenameResource_ExistingFile) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -316,6 +446,24 @@ TEST_F(FakeDriveServiceTest, RenameResource_NonexistingFile) {
|
| EXPECT_EQ(HTTP_NOT_FOUND, error);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, RenameResource_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + const std::string kResourceId = "file:2_file_resource_id";
|
| + const GURL kEditUrl("https://file1_link_self/file:2_file_resource_id");
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + fake_service_.RenameResource(
|
| + kEditUrl,
|
| + FILE_PATH_LITERAL("new name"),
|
| + base::Bind(&test_util::CopyResultsFromEntryActionCallback,
|
| + &error));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, AddResourceToDirectory_FileInRootDirectory) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -400,6 +548,25 @@ TEST_F(FakeDriveServiceTest, AddResourceToDirectory_NonexistingFile) {
|
| EXPECT_EQ(HTTP_NOT_FOUND, error);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, AddResourceToDirectory_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + const std::string kResourceId = "file:2_file_resource_id";
|
| + const GURL kEditUrl("https://file1_link_self/file:2_file_resource_id");
|
| + const GURL kNewParentContentUrl("https://new_url");
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + fake_service_.AddResourceToDirectory(
|
| + kNewParentContentUrl,
|
| + kEditUrl,
|
| + base::Bind(&test_util::CopyResultsFromEntryActionCallback,
|
| + &error));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_ExistingFile) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -449,6 +616,25 @@ TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_NonexistingFile) {
|
| EXPECT_EQ(HTTP_NOT_FOUND, error);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, RemoveResourceFromDirectory_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + const std::string kResourceId("file:subdirectory_file_1_id");
|
| + const GURL kParentContentUrl(
|
| + "https://dir_1_self_link/folder:1_folder_resource_id");
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + fake_service_.RemoveResourceFromDirectory(
|
| + kParentContentUrl,
|
| + kResourceId,
|
| + base::Bind(&test_util::CopyResultsFromEntryActionCallback,
|
| + &error));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| +}
|
| +
|
| TEST_F(FakeDriveServiceTest, AddNewDirectory_ToRootDirectory) {
|
| ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
|
|
| @@ -519,4 +705,22 @@ TEST_F(FakeDriveServiceTest, AddNewDirectory_ToNonexistingDirectory) {
|
| EXPECT_FALSE(resource_entry);
|
| }
|
|
|
| +TEST_F(FakeDriveServiceTest, AddNewDirectory_Offline) {
|
| + ASSERT_TRUE(fake_service_.LoadResourceListForWapi("gdata/root_feed.json"));
|
| + fake_service_.set_offline(true);
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + scoped_ptr<ResourceEntry> resource_entry;
|
| + fake_service_.AddNewDirectory(
|
| + GURL(), // Empty means add it to the root directory.
|
| + FILE_PATH_LITERAL("new directory"),
|
| + base::Bind(&test_util::CopyResultsFromGetResourceEntryCallback,
|
| + &error,
|
| + &resource_entry));
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_FALSE(resource_entry);
|
| +}
|
| +
|
| } // namespace google_apis
|
|
|