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

Side by Side Diff: chrome/browser/chromeos/policy/upload_job_unittest.cc

Issue 1875443003: Retry uploading in UploadJobImpl when error occurs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove missing method Created 4 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/policy/upload_job.h" 5 #include "chrome/browser/chromeos/policy/upload_job.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <queue> 9 #include <queue>
10 #include <set> 10 #include <set>
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 oauth2_service_.AddTokenToQueue(kTokenValid); 268 oauth2_service_.AddTokenToQueue(kTokenValid);
269 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob( 269 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
270 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator)); 270 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
271 upload_job->Start(); 271 upload_job->Start();
272 run_loop_.Run(); 272 run_loop_.Run();
273 } 273 }
274 274
275 TEST_F(UploadFlowTest, TokenInvalid) { 275 TEST_F(UploadFlowTest, TokenInvalid) {
276 oauth2_service_.AddTokenToQueue(kTokenInvalid); 276 oauth2_service_.AddTokenToQueue(kTokenInvalid);
277 oauth2_service_.AddTokenToQueue(kTokenInvalid); 277 oauth2_service_.AddTokenToQueue(kTokenInvalid);
278 oauth2_service_.AddTokenToQueue(kTokenInvalid);
278 SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>( 279 SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
279 new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR))); 280 new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR)));
280 281
281 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob( 282 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
282 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator)); 283 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
283 upload_job->Start(); 284 upload_job->Start();
284 run_loop_.Run(); 285 run_loop_.Run();
285 } 286 }
286 287
288 TEST_F(UploadFlowTest, TokenMultipleTries) {
289 oauth2_service_.SetTokenValid(kTokenValid);
290 oauth2_service_.AddTokenToQueue(kTokenInvalid);
291 oauth2_service_.AddTokenToQueue(kTokenInvalid);
292 oauth2_service_.AddTokenToQueue(kTokenValid);
293
294 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
295 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
296 upload_job->Start();
297 run_loop_.Run();
298 }
299
287 TEST_F(UploadFlowTest, TokenFetchFailure) { 300 TEST_F(UploadFlowTest, TokenFetchFailure) {
288 SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>( 301 SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
289 new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR))); 302 new UploadJob::ErrorCode(UploadJob::AUTHENTICATION_ERROR)));
290 303
291 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob( 304 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
292 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator)); 305 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
293 upload_job->Start(); 306 upload_job->Start();
294 run_loop_.Run(); 307 run_loop_.Run();
295 } 308 }
296 309
310 class UploadServerErrorTest : public UploadJobTestBase {
311 public:
312 UploadServerErrorTest() {}
313
314 // UploadJobTestBase:
315 void SetUp() override {
316 UploadJobTestBase::SetUp();
317 test_server_.RegisterRequestHandler(base::Bind(
318 &UploadServerErrorTest::HandlePostRequest, base::Unretained(this)));
319 }
320
321 std::unique_ptr<net::test_server::HttpResponse> HandlePostRequest(
322 const net::test_server::HttpRequest& request) {
323 std::unique_ptr<net::test_server::BasicHttpResponse> response(
324 new net::test_server::BasicHttpResponse);
325 response->set_code(net::HTTP_INTERNAL_SERVER_ERROR);
326 return std::move(response);
327 }
328 };
329
330 TEST_F(UploadServerErrorTest, InternalServerError) {
331 oauth2_service_.AddTokenToQueue(kTokenValid);
332
333 SetExpectedError(std::unique_ptr<UploadJob::ErrorCode>(
334 new UploadJob::ErrorCode(UploadJob::SERVER_ERROR)));
335
336 std::unique_ptr<UploadJob> upload_job = PrepareUploadJob(
337 base::WrapUnique(new UploadJobImpl::RandomMimeBoundaryGenerator));
338 upload_job->Start();
339 run_loop_.Run();
340 }
341
297 class UploadRequestTest : public UploadJobTestBase { 342 class UploadRequestTest : public UploadJobTestBase {
298 public: 343 public:
299 UploadRequestTest() {} 344 UploadRequestTest() {}
300 345
301 // UploadJobTestBase: 346 // UploadJobTestBase:
302 void SetUp() override { 347 void SetUp() override {
303 UploadJobTestBase::SetUp(); 348 UploadJobTestBase::SetUp();
304 test_server_.RegisterRequestHandler(base::Bind( 349 test_server_.RegisterRequestHandler(base::Bind(
305 &UploadRequestTest::HandlePostRequest, base::Unretained(this))); 350 &UploadRequestTest::HandlePostRequest, base::Unretained(this)));
306 } 351 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 "customfield2: CUSTOM2\r\n" 385 "customfield2: CUSTOM2\r\n"
341 "\r\n" 386 "\r\n"
342 "**||--||PAYLOAD2||--||**\r\n--" 387 "**||--||PAYLOAD2||--||**\r\n--"
343 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA--\r\n"); 388 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA--\r\n");
344 389
345 upload_job->Start(); 390 upload_job->Start();
346 run_loop_.Run(); 391 run_loop_.Run();
347 } 392 }
348 393
349 } // namespace policy 394 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698