| Index: chrome/browser/chromeos/policy/upload_job_unittest.cc
|
| diff --git a/chrome/browser/chromeos/policy/upload_job_unittest.cc b/chrome/browser/chromeos/policy/upload_job_unittest.cc
|
| index 501c4b5b20fbea56951b89707c58e0eb1c45e152..afc3d9bcb7ae6a51efdebc7be1faad0625c9fdf4 100644
|
| --- a/chrome/browser/chromeos/policy/upload_job_unittest.cc
|
| +++ b/chrome/browser/chromeos/policy/upload_job_unittest.cc
|
| @@ -275,6 +275,7 @@ TEST_F(UploadFlowTest, TokenExpired) {
|
| TEST_F(UploadFlowTest, TokenInvalid) {
|
| oauth2_service_.AddTokenToQueue(kTokenInvalid);
|
| oauth2_service_.AddTokenToQueue(kTokenInvalid);
|
| + oauth2_service_.AddTokenToQueue(kTokenInvalid);
|
| SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
|
| new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR)));
|
|
|
| @@ -284,6 +285,18 @@ TEST_F(UploadFlowTest, TokenInvalid) {
|
| run_loop_.Run();
|
| }
|
|
|
| +TEST_F(UploadFlowTest, TokenMultipleTries) {
|
| + oauth2_service_.SetTokenValid(kTokenValid);
|
| + oauth2_service_.AddTokenToQueue(kTokenInvalid);
|
| + oauth2_service_.AddTokenToQueue(kTokenInvalid);
|
| + oauth2_service_.AddTokenToQueue(kTokenValid);
|
| +
|
| + std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
|
| + base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
|
| + upload_job->Start();
|
| + run_loop_.Run();
|
| +}
|
| +
|
| TEST_F(UploadFlowTest, TokenFetchFailure) {
|
| SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
|
| new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR)));
|
| @@ -294,6 +307,38 @@ TEST_F(UploadFlowTest, TokenFetchFailure) {
|
| run_loop_.Run();
|
| }
|
|
|
| +class UploadServerErrorTest : public UploadJobTestBase {
|
| + public:
|
| + UploadServerErrorTest() {}
|
| +
|
| + // UploadJobTestBase:
|
| + void SetUp() override {
|
| + UploadJobTestBase::SetUp();
|
| + test_server_.RegisterRequestHandler(base::Bind(
|
| + &UploadServerErrorTest::HandlePostRequest, base::Unretained(this)));
|
| + }
|
| +
|
| + std::unique_ptr<net::test_server::HttpResponse> HandlePostRequest(
|
| + const net::test_server::HttpRequest& request) {
|
| + std::unique_ptr<net::test_server::BasicHttpResponse> response(
|
| + new net::test_server::BasicHttpResponse);
|
| + response->set_code(net::HTTP_INTERNAL_SERVER_ERROR);
|
| + return std::move(response);
|
| + }
|
| +};
|
| +
|
| +TEST_F(UploadServerErrorTest, InternalServerError) {
|
| + oauth2_service_.AddTokenToQueue(kTokenValid);
|
| +
|
| + SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
|
| + new UploadJob::ErrorCode(UploadJob::SERVER_ERROR)));
|
| +
|
| + std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
|
| + base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
|
| + upload_job->Start();
|
| + run_loop_.Run();
|
| +}
|
| +
|
| class UploadRequestTest : public UploadJobTestBase {
|
| public:
|
| UploadRequestTest() {}
|
|
|