OLD | NEW |
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/save_page_request.h" | 5 #include "components/offline_pages/background/save_page_request.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 namespace offline_pages { | 9 namespace offline_pages { |
10 | 10 |
11 namespace { | 11 namespace { |
12 const int64_t kRequestId = 42; | 12 const int64_t kRequestId = 42; |
13 const GURL kUrl("http://example.com"); | 13 const GURL kUrl("http://example.com"); |
14 const ClientId kClientId("bookmark", "1234"); | 14 const ClientId kClientId("bookmark", "1234"); |
| 15 const bool kUserRequested = true; |
15 } // namespace | 16 } // namespace |
16 | 17 |
17 class SavePageRequestTest : public testing::Test { | 18 class SavePageRequestTest : public testing::Test { |
18 public: | 19 public: |
19 ~SavePageRequestTest() override; | 20 ~SavePageRequestTest() override; |
20 }; | 21 }; |
21 | 22 |
22 SavePageRequestTest::~SavePageRequestTest() {} | 23 SavePageRequestTest::~SavePageRequestTest() {} |
23 | 24 |
24 TEST_F(SavePageRequestTest, CreatePendingReqeust) { | 25 TEST_F(SavePageRequestTest, CreatePendingReqeust) { |
25 base::Time creation_time = base::Time::Now(); | 26 base::Time creation_time = base::Time::Now(); |
26 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time); | 27 SavePageRequest request( |
| 28 kRequestId, kUrl, kClientId, creation_time, kUserRequested); |
27 ASSERT_EQ(kRequestId, request.request_id()); | 29 ASSERT_EQ(kRequestId, request.request_id()); |
28 ASSERT_EQ(kUrl, request.url()); | 30 ASSERT_EQ(kUrl, request.url()); |
29 ASSERT_EQ(kClientId, request.client_id()); | 31 ASSERT_EQ(kClientId, request.client_id()); |
30 ASSERT_EQ(creation_time, request.creation_time()); | 32 ASSERT_EQ(creation_time, request.creation_time()); |
31 ASSERT_EQ(creation_time, request.activation_time()); | 33 ASSERT_EQ(creation_time, request.activation_time()); |
32 ASSERT_EQ(base::Time(), request.last_attempt_time()); | 34 ASSERT_EQ(base::Time(), request.last_attempt_time()); |
33 ASSERT_EQ(0, request.attempt_count()); | 35 ASSERT_EQ(0, request.attempt_count()); |
34 | 36 |
35 base::Time after_creation = creation_time + base::TimeDelta::FromHours(6); | 37 base::Time after_creation = creation_time + base::TimeDelta::FromHours(6); |
36 ASSERT_EQ(SavePageRequest::Status::PENDING, | 38 ASSERT_EQ(SavePageRequest::Status::PENDING, |
37 request.GetStatus(after_creation)); | 39 request.GetStatus(after_creation)); |
38 } | 40 } |
39 | 41 |
40 TEST_F(SavePageRequestTest, CreateNotReadyRequest) { | 42 TEST_F(SavePageRequestTest, CreateNotReadyRequest) { |
41 base::Time creation_time = base::Time::Now(); | 43 base::Time creation_time = base::Time::Now(); |
42 base::Time activation_time = creation_time + base::TimeDelta::FromHours(6); | 44 base::Time activation_time = creation_time + base::TimeDelta::FromHours(6); |
43 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, | 45 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, |
44 activation_time); | 46 activation_time, kUserRequested); |
45 | 47 |
46 ASSERT_EQ(kRequestId, request.request_id()); | 48 ASSERT_EQ(kRequestId, request.request_id()); |
47 ASSERT_EQ(kUrl, request.url()); | 49 ASSERT_EQ(kUrl, request.url()); |
48 ASSERT_EQ(kClientId, request.client_id()); | 50 ASSERT_EQ(kClientId, request.client_id()); |
49 ASSERT_EQ(creation_time, request.creation_time()); | 51 ASSERT_EQ(creation_time, request.creation_time()); |
50 ASSERT_EQ(activation_time, request.activation_time()); | 52 ASSERT_EQ(activation_time, request.activation_time()); |
51 ASSERT_EQ(base::Time(), request.last_attempt_time()); | 53 ASSERT_EQ(base::Time(), request.last_attempt_time()); |
52 ASSERT_EQ(0, request.attempt_count()); | 54 ASSERT_EQ(0, request.attempt_count()); |
53 | 55 |
54 base::Time not_ready_time = activation_time - base::TimeDelta::FromHours(3); | 56 base::Time not_ready_time = activation_time - base::TimeDelta::FromHours(3); |
55 ASSERT_EQ(SavePageRequest::Status::NOT_READY, | 57 ASSERT_EQ(SavePageRequest::Status::NOT_READY, |
56 request.GetStatus(not_ready_time)); | 58 request.GetStatus(not_ready_time)); |
57 | 59 |
58 base::Time ready_time = activation_time + base::TimeDelta::FromHours(3); | 60 base::Time ready_time = activation_time + base::TimeDelta::FromHours(3); |
59 ASSERT_EQ(SavePageRequest::Status::PENDING, request.GetStatus(ready_time)); | 61 ASSERT_EQ(SavePageRequest::Status::PENDING, request.GetStatus(ready_time)); |
60 } | 62 } |
61 | 63 |
62 TEST_F(SavePageRequestTest, StartAndCompleteRequest) { | 64 TEST_F(SavePageRequestTest, StartAndCompleteRequest) { |
63 base::Time creation_time = base::Time::Now(); | 65 base::Time creation_time = base::Time::Now(); |
64 base::Time activation_time = creation_time + base::TimeDelta::FromHours(6); | 66 base::Time activation_time = creation_time + base::TimeDelta::FromHours(6); |
65 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, | 67 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time, |
66 activation_time); | 68 activation_time, kUserRequested); |
67 | 69 |
68 base::Time start_time = activation_time + base::TimeDelta::FromHours(3); | 70 base::Time start_time = activation_time + base::TimeDelta::FromHours(3); |
69 request.MarkAttemptStarted(start_time); | 71 request.MarkAttemptStarted(start_time); |
70 | 72 |
71 // Most things don't change about the request. | 73 // Most things don't change about the request. |
72 ASSERT_EQ(kRequestId, request.request_id()); | 74 ASSERT_EQ(kRequestId, request.request_id()); |
73 ASSERT_EQ(kUrl, request.url()); | 75 ASSERT_EQ(kUrl, request.url()); |
74 ASSERT_EQ(kClientId, request.client_id()); | 76 ASSERT_EQ(kClientId, request.client_id()); |
75 ASSERT_EQ(creation_time, request.creation_time()); | 77 ASSERT_EQ(creation_time, request.creation_time()); |
76 ASSERT_EQ(activation_time, request.activation_time()); | 78 ASSERT_EQ(activation_time, request.activation_time()); |
(...skipping 13 matching lines...) Expand all Loading... |
90 ASSERT_EQ(creation_time, request.creation_time()); | 92 ASSERT_EQ(creation_time, request.creation_time()); |
91 ASSERT_EQ(activation_time, request.activation_time()); | 93 ASSERT_EQ(activation_time, request.activation_time()); |
92 | 94 |
93 // Last attempt time, status and attempt count are updated. | 95 // Last attempt time, status and attempt count are updated. |
94 ASSERT_EQ(base::Time(), request.last_attempt_time()); | 96 ASSERT_EQ(base::Time(), request.last_attempt_time()); |
95 ASSERT_EQ(1, request.attempt_count()); | 97 ASSERT_EQ(1, request.attempt_count()); |
96 ASSERT_EQ(SavePageRequest::Status::PENDING, request.GetStatus(start_time)); | 98 ASSERT_EQ(SavePageRequest::Status::PENDING, request.GetStatus(start_time)); |
97 } | 99 } |
98 | 100 |
99 } // offline_pages | 101 } // offline_pages |
OLD | NEW |