| Index: google_apis/drive/drive_api_requests_unittest.cc
|
| diff --git a/google_apis/drive/drive_api_requests_unittest.cc b/google_apis/drive/drive_api_requests_unittest.cc
|
| index 466240cd369d44a69caefc70974b62a1e79cd666..cbbba29eb755fba043c9153f058708361d6c3daa 100644
|
| --- a/google_apis/drive/drive_api_requests_unittest.cc
|
| +++ b/google_apis/drive/drive_api_requests_unittest.cc
|
| @@ -1257,6 +1257,60 @@ TEST_F(DriveApiRequestsTest, UploadNewLargeFileRequest) {
|
| }
|
| }
|
|
|
| +TEST_F(DriveApiRequestsTest, UploadNewFileWithMetadataRequest) {
|
| + const base::Time::Exploded kModifiedDate = {2012, 7, 0, 19, 15, 59, 13, 123};
|
| + const base::Time::Exploded kLastViewedByMeDate =
|
| + {2013, 7, 0, 19, 15, 59, 13, 123};
|
| +
|
| + // Set an expected url for uploading.
|
| + expected_upload_path_ = kTestUploadNewFilePath;
|
| +
|
| + const char kTestContentType[] = "text/plain";
|
| + const std::string kTestContent(100, 'a');
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + GURL upload_url;
|
| +
|
| + // Initiate uploading a new file to the directory with "parent_resource_id".
|
| + {
|
| + base::RunLoop run_loop;
|
| + drive::InitiateUploadNewFileRequest* request =
|
| + new drive::InitiateUploadNewFileRequest(
|
| + request_sender_.get(),
|
| + *url_generator_,
|
| + kTestContentType,
|
| + kTestContent.size(),
|
| + "parent_resource_id", // The resource id of the parent directory.
|
| + "new file title", // The title of the file being uploaded.
|
| + test_util::CreateQuitCallback(
|
| + &run_loop,
|
| + test_util::CreateCopyResultCallback(&error, &upload_url)));
|
| + request->set_modified_date(base::Time::FromUTCExploded(kModifiedDate));
|
| + request->set_last_viewed_by_me_date(
|
| + base::Time::FromUTCExploded(kLastViewedByMeDate));
|
| + request_sender_->StartRequestWithRetry(request);
|
| + run_loop.Run();
|
| + }
|
| +
|
| + EXPECT_EQ(HTTP_SUCCESS, error);
|
| + EXPECT_EQ(kTestUploadNewFilePath, upload_url.path());
|
| + EXPECT_EQ(kTestContentType, http_request_.headers["X-Upload-Content-Type"]);
|
| + EXPECT_EQ(base::Int64ToString(kTestContent.size()),
|
| + http_request_.headers["X-Upload-Content-Length"]);
|
| +
|
| + EXPECT_EQ(net::test_server::METHOD_POST, http_request_.method);
|
| + EXPECT_EQ("/upload/drive/v2/files?uploadType=resumable&setModifiedDate=true",
|
| + http_request_.relative_url);
|
| + EXPECT_EQ("application/json", http_request_.headers["Content-Type"]);
|
| + EXPECT_TRUE(http_request_.has_content);
|
| + EXPECT_EQ("{\"lastViewedByMeDate\":\"2013-07-19T15:59:13.123Z\","
|
| + "\"modifiedDate\":\"2012-07-19T15:59:13.123Z\","
|
| + "\"parents\":[{\"id\":\"parent_resource_id\","
|
| + "\"kind\":\"drive#fileLink\"}],"
|
| + "\"title\":\"new file title\"}",
|
| + http_request_.content);
|
| +}
|
| +
|
| TEST_F(DriveApiRequestsTest, UploadExistingFileRequest) {
|
| // Set an expected url for uploading.
|
| expected_upload_path_ = kTestUploadExistingFilePath;
|
| @@ -1573,6 +1627,65 @@ TEST_F(DriveApiRequestsTest,
|
| EXPECT_FALSE(new_entry.get());
|
| }
|
|
|
| +TEST_F(DriveApiRequestsTest, UploadExistingFileWithMetadataRequest) {
|
| + const base::Time::Exploded kModifiedDate = {2012, 7, 0, 19, 15, 59, 13, 123};
|
| + const base::Time::Exploded kLastViewedByMeDate =
|
| + {2013, 7, 0, 19, 15, 59, 13, 123};
|
| +
|
| + // Set an expected url for uploading.
|
| + expected_upload_path_ = kTestUploadExistingFilePath;
|
| +
|
| + const char kTestContentType[] = "text/plain";
|
| + const std::string kTestContent(100, 'a');
|
| +
|
| + GDataErrorCode error = GDATA_OTHER_ERROR;
|
| + GURL upload_url;
|
| +
|
| + // Initiate uploading a new file to the directory with "parent_resource_id".
|
| + {
|
| + base::RunLoop run_loop;
|
| + drive::InitiateUploadExistingFileRequest* request =
|
| + new drive::InitiateUploadExistingFileRequest(
|
| + request_sender_.get(),
|
| + *url_generator_,
|
| + kTestContentType,
|
| + kTestContent.size(),
|
| + "resource_id", // The resource id of the file to be overwritten.
|
| + kTestETag,
|
| + test_util::CreateQuitCallback(
|
| + &run_loop,
|
| + test_util::CreateCopyResultCallback(&error, &upload_url)));
|
| + request->set_parent_resource_id("new_parent_resource_id");
|
| + request->set_title("new file title");
|
| + request->set_modified_date(base::Time::FromUTCExploded(kModifiedDate));
|
| + request->set_last_viewed_by_me_date(
|
| + base::Time::FromUTCExploded(kLastViewedByMeDate));
|
| +
|
| + request_sender_->StartRequestWithRetry(request);
|
| + run_loop.Run();
|
| + }
|
| +
|
| + EXPECT_EQ(HTTP_SUCCESS, error);
|
| + EXPECT_EQ(kTestUploadExistingFilePath, upload_url.path());
|
| + EXPECT_EQ(kTestContentType, http_request_.headers["X-Upload-Content-Type"]);
|
| + EXPECT_EQ(base::Int64ToString(kTestContent.size()),
|
| + http_request_.headers["X-Upload-Content-Length"]);
|
| + EXPECT_EQ(kTestETag, http_request_.headers["If-Match"]);
|
| +
|
| + EXPECT_EQ(net::test_server::METHOD_PUT, http_request_.method);
|
| + EXPECT_EQ("/upload/drive/v2/files/resource_id?"
|
| + "uploadType=resumable&setModifiedDate=true",
|
| + http_request_.relative_url);
|
| + EXPECT_EQ("application/json", http_request_.headers["Content-Type"]);
|
| + EXPECT_TRUE(http_request_.has_content);
|
| + EXPECT_EQ("{\"lastViewedByMeDate\":\"2013-07-19T15:59:13.123Z\","
|
| + "\"modifiedDate\":\"2012-07-19T15:59:13.123Z\","
|
| + "\"parents\":[{\"id\":\"new_parent_resource_id\","
|
| + "\"kind\":\"drive#fileLink\"}],"
|
| + "\"title\":\"new file title\"}",
|
| + http_request_.content);
|
| +}
|
| +
|
| TEST_F(DriveApiRequestsTest, DownloadFileRequest) {
|
| const base::FilePath kDownloadedFilePath =
|
| temp_dir_.path().AppendASCII("cache_file");
|
|
|