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

Side by Side Diff: components/offline_pages/background/request_queue_unittest.cc

Issue 2416083002: [Offline pages] Introduction of MarkAttemptStartedTask with tests (Closed)
Patch Set: Addressing code review feedback Created 4 years, 2 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/offline_pages/background/request_queue.h" 5 #include "components/offline_pages/background/request_queue.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/test/test_simple_task_runner.h" 10 #include "base/test/test_simple_task_runner.h"
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 PumpLoop(); 377 PumpLoop();
378 378
379 // Try to update request1 when only request2 is in the queue. 379 // Try to update request1 when only request2 is in the queue.
380 queue()->UpdateRequest( 380 queue()->UpdateRequest(
381 request1, 381 request1,
382 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this))); 382 base::Bind(&RequestQueueTest::UpdateRequestDone, base::Unretained(this)));
383 PumpLoop(); 383 PumpLoop();
384 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result()); 384 ASSERT_EQ(UpdateRequestResult::REQUEST_DOES_NOT_EXIST, last_update_result());
385 } 385 }
386 386
387 TEST_F(RequestQueueTest, MarkAttemptStarted) {
388 // First add a request. Retry count will be set to 0.
389 base::Time creation_time = base::Time::Now();
390 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time,
391 kUserRequested);
392 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone,
393 base::Unretained(this)));
394 PumpLoop();
395
396 base::Time before_time = base::Time::Now();
397 // Update the request, ensure it succeeded.
398 queue()->MarkAttemptStarted(kRequestId,
399 base::Bind(&RequestQueueTest::UpdateRequestsDone,
400 base::Unretained(this)));
401 PumpLoop();
402 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size());
403 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
404 EXPECT_EQ(ItemActionStatus::SUCCESS,
405 update_requests_result()->item_statuses.at(0).second);
406 EXPECT_EQ(1UL, update_requests_result()->updated_items.size());
407 EXPECT_LE(before_time,
408 update_requests_result()->updated_items.at(0).last_attempt_time());
409 EXPECT_GE(base::Time::Now(),
410 update_requests_result()->updated_items.at(0).last_attempt_time());
411 EXPECT_EQ(
412 1, update_requests_result()->updated_items.at(0).started_attempt_count());
413 EXPECT_EQ(SavePageRequest::RequestState::PRERENDERING,
414 update_requests_result()->updated_items.at(0).request_state());
415
416 queue()->GetRequests(
417 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
418 PumpLoop();
419 EXPECT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
420 ASSERT_EQ(1ul, last_requests().size());
421 EXPECT_EQ(update_requests_result()->updated_items.at(0),
422 *last_requests().at(0));
423 }
424
425 TEST_F(RequestQueueTest, MarkAttempStartedRequestNotPresent) {
426 // First add a request. Retry count will be set to 0.
427 base::Time creation_time = base::Time::Now();
428 // This request is never put into the queue.
429 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time,
430 kUserRequested);
431
432 queue()->MarkAttemptStarted(kRequestId,
433 base::Bind(&RequestQueueTest::UpdateRequestsDone,
434 base::Unretained(this)));
435 PumpLoop();
436 ASSERT_EQ(1ul, update_requests_result()->item_statuses.size());
437 EXPECT_EQ(kRequestId, update_requests_result()->item_statuses.at(0).first);
438 EXPECT_EQ(ItemActionStatus::NOT_FOUND,
439 update_requests_result()->item_statuses.at(0).second);
440 EXPECT_EQ(0ul, update_requests_result()->updated_items.size());
441 }
442
387 } // namespace offline_pages 443 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_queue.cc ('k') | components/offline_pages/offline_store_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698