| Index: chrome/browser/drive/drive_uploader_unittest.cc
|
| diff --git a/chrome/browser/drive/drive_uploader_unittest.cc b/chrome/browser/drive/drive_uploader_unittest.cc
|
| index 83afc2827d73f049688faf8545cb5e95a0ba56af..0d8d63625bb017c1db0e2b84212e5b3ae7173fd1 100644
|
| --- a/chrome/browser/drive/drive_uploader_unittest.cc
|
| +++ b/chrome/browser/drive/drive_uploader_unittest.cc
|
| @@ -286,6 +286,21 @@ class MockDriveServiceNoConnectionAtResume : public DummyDriveService {
|
| }
|
| };
|
|
|
| +// Mock DriveService that returns a failure at GetUploadStatus().
|
| +class MockDriveServiceNoConnectionAtGetUploadStatus : public DummyDriveService {
|
| + // Returns error.
|
| + virtual CancelCallback GetUploadStatus(
|
| + const GURL& upload_url,
|
| + int64 content_length,
|
| + const UploadRangeCallback& callback) OVERRIDE {
|
| + base::MessageLoop::current()->PostTask(FROM_HERE,
|
| + base::Bind(callback,
|
| + UploadRangeResponse(GDATA_NO_CONNECTION, -1, -1),
|
| + base::Passed(scoped_ptr<ResourceEntry>())));
|
| + return CancelCallback();
|
| + }
|
| +};
|
| +
|
| class DriveUploaderTest : public testing::Test {
|
| public:
|
| virtual void SetUp() OVERRIDE {
|
| @@ -477,6 +492,31 @@ TEST_F(DriveUploaderTest, ResumeUploadFail) {
|
| EXPECT_EQ(GURL(kTestUploadExistingFileURL), upload_location);
|
| }
|
|
|
| +TEST_F(DriveUploaderTest, GetUploadStatusFail) {
|
| + base::FilePath local_path;
|
| + std::string data;
|
| + ASSERT_TRUE(test_util::CreateFileOfSpecifiedSize(
|
| + temp_dir_.path(), 512 * 1024, &local_path, &data));
|
| +
|
| + GDataErrorCode error = HTTP_SUCCESS;
|
| + GURL upload_location;
|
| + scoped_ptr<ResourceEntry> resource_entry;
|
| +
|
| + MockDriveServiceNoConnectionAtGetUploadStatus mock_service;
|
| + DriveUploader uploader(&mock_service,
|
| + base::MessageLoopProxy::current().get());
|
| + uploader.ResumeUploadFile(GURL(kTestUploadExistingFileURL),
|
| + local_path,
|
| + kTestMimeType,
|
| + test_util::CreateCopyResultCallback(
|
| + &error, &upload_location, &resource_entry),
|
| + google_apis::ProgressCallback());
|
| + base::RunLoop().RunUntilIdle();
|
| +
|
| + EXPECT_EQ(GDATA_NO_CONNECTION, error);
|
| + EXPECT_TRUE(upload_location.is_empty());
|
| +}
|
| +
|
| TEST_F(DriveUploaderTest, NonExistingSourceFile) {
|
| GDataErrorCode error = GDATA_OTHER_ERROR;
|
| GURL upload_location;
|
|
|