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

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

Issue 2113383002: More detailed implementation of the RequestPicker (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix merge Created 4 years, 5 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 10 matching lines...) Expand all
21 21
22 namespace { 22 namespace {
23 // Data for request 1. 23 // Data for request 1.
24 const int64_t kRequestId = 42; 24 const int64_t kRequestId = 42;
25 const GURL kUrl("http://example.com"); 25 const GURL kUrl("http://example.com");
26 const ClientId kClientId("bookmark", "1234"); 26 const ClientId kClientId("bookmark", "1234");
27 // Data for request 2. 27 // Data for request 2.
28 const int64_t kRequestId2 = 77; 28 const int64_t kRequestId2 = 77;
29 const GURL kUrl2("http://test.com"); 29 const GURL kUrl2("http://test.com");
30 const ClientId kClientId2("bookmark", "567"); 30 const ClientId kClientId2("bookmark", "567");
31 const bool kUserRequested = true;
31 } // namespace 32 } // namespace
32 33
33 // TODO(fgorski): Add tests for store failures in add/remove/get. 34 // TODO(fgorski): Add tests for store failures in add/remove/get.
34 class RequestQueueTest : public testing::Test { 35 class RequestQueueTest : public testing::Test {
35 public: 36 public:
36 RequestQueueTest(); 37 RequestQueueTest();
37 ~RequestQueueTest() override; 38 ~RequestQueueTest() override;
38 39
39 // Test overrides. 40 // Test overrides.
40 void SetUp() override; 41 void SetUp() override;
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 TEST_F(RequestQueueTest, GetRequestsEmpty) { 119 TEST_F(RequestQueueTest, GetRequestsEmpty) {
119 queue()->GetRequests( 120 queue()->GetRequests(
120 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 121 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
121 PumpLoop(); 122 PumpLoop();
122 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 123 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
123 ASSERT_EQ(0ul, last_requests().size()); 124 ASSERT_EQ(0ul, last_requests().size());
124 } 125 }
125 126
126 TEST_F(RequestQueueTest, AddRequest) { 127 TEST_F(RequestQueueTest, AddRequest) {
127 base::Time creation_time = base::Time::Now(); 128 base::Time creation_time = base::Time::Now();
128 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time); 129 SavePageRequest request(
130 kRequestId, kUrl, kClientId, creation_time, kUserRequested);
129 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone, 131 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone,
130 base::Unretained(this))); 132 base::Unretained(this)));
131 PumpLoop(); 133 PumpLoop();
132 ASSERT_EQ(AddRequestResult::SUCCESS, last_add_result()); 134 ASSERT_EQ(AddRequestResult::SUCCESS, last_add_result());
133 ASSERT_TRUE(last_added_request()); 135 ASSERT_TRUE(last_added_request());
134 ASSERT_EQ(kRequestId, last_added_request()->request_id()); 136 ASSERT_EQ(kRequestId, last_added_request()->request_id());
135 137
136 queue()->GetRequests( 138 queue()->GetRequests(
137 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 139 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
138 PumpLoop(); 140 PumpLoop();
139 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 141 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
140 ASSERT_EQ(1ul, last_requests().size()); 142 ASSERT_EQ(1ul, last_requests().size());
141 } 143 }
142 144
143 TEST_F(RequestQueueTest, RemoveRequest) { 145 TEST_F(RequestQueueTest, RemoveRequest) {
144 base::Time creation_time = base::Time::Now(); 146 base::Time creation_time = base::Time::Now();
145 SavePageRequest request(kRequestId, kUrl, kClientId, creation_time); 147 SavePageRequest request(
148 kRequestId, kUrl, kClientId, creation_time, kUserRequested);
146 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone, 149 queue()->AddRequest(request, base::Bind(&RequestQueueTest::AddRequestDone,
147 base::Unretained(this))); 150 base::Unretained(this)));
148 PumpLoop(); 151 PumpLoop();
149 ASSERT_EQ(kRequestId, last_added_request()->request_id()); 152 ASSERT_EQ(kRequestId, last_added_request()->request_id());
150 153
151 queue()->RemoveRequest( 154 queue()->RemoveRequest(
152 kRequestId, 155 kRequestId,
153 base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this))); 156 base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this)));
154 PumpLoop(); 157 PumpLoop();
155 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result()); 158 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result());
156 159
157 queue()->GetRequests( 160 queue()->GetRequests(
158 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 161 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
159 PumpLoop(); 162 PumpLoop();
160 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 163 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
161 ASSERT_EQ(0ul, last_requests().size()); 164 ASSERT_EQ(0ul, last_requests().size());
162 } 165 }
163 166
164 // A longer test populating the request queue with more than one item, properly 167 // A longer test populating the request queue with more than one item, properly
165 // listing multiple items and removing the right item. 168 // listing multiple items and removing the right item.
166 TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) { 169 TEST_F(RequestQueueTest, MultipleRequestsAddGetRemove) {
167 base::Time creation_time = base::Time::Now(); 170 base::Time creation_time = base::Time::Now();
168 SavePageRequest request1(kRequestId, kUrl, kClientId, creation_time); 171 SavePageRequest request1(
172 kRequestId, kUrl, kClientId, creation_time, kUserRequested);
169 queue()->AddRequest(request1, base::Bind(&RequestQueueTest::AddRequestDone, 173 queue()->AddRequest(request1, base::Bind(&RequestQueueTest::AddRequestDone,
170 base::Unretained(this))); 174 base::Unretained(this)));
171 PumpLoop(); 175 PumpLoop();
172 ASSERT_EQ(request1.request_id(), last_added_request()->request_id()); 176 ASSERT_EQ(request1.request_id(), last_added_request()->request_id());
173 SavePageRequest request2(kRequestId2, kUrl2, kClientId2, creation_time); 177 SavePageRequest request2(
178 kRequestId2, kUrl2, kClientId2, creation_time, kUserRequested);
174 queue()->AddRequest(request2, base::Bind(&RequestQueueTest::AddRequestDone, 179 queue()->AddRequest(request2, base::Bind(&RequestQueueTest::AddRequestDone,
175 base::Unretained(this))); 180 base::Unretained(this)));
176 PumpLoop(); 181 PumpLoop();
177 ASSERT_EQ(request2.request_id(), last_added_request()->request_id()); 182 ASSERT_EQ(request2.request_id(), last_added_request()->request_id());
178 183
179 queue()->GetRequests( 184 queue()->GetRequests(
180 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 185 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
181 PumpLoop(); 186 PumpLoop();
182 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 187 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
183 ASSERT_EQ(2ul, last_requests().size()); 188 ASSERT_EQ(2ul, last_requests().size());
184 189
185 queue()->RemoveRequest( 190 queue()->RemoveRequest(
186 request1.request_id(), 191 request1.request_id(),
187 base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this))); 192 base::Bind(&RequestQueueTest::RemoveRequestDone, base::Unretained(this)));
188 PumpLoop(); 193 PumpLoop();
189 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result()); 194 ASSERT_EQ(UpdateRequestResult::SUCCESS, last_remove_result());
190 195
191 queue()->GetRequests( 196 queue()->GetRequests(
192 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this))); 197 base::Bind(&RequestQueueTest::GetRequestsDone, base::Unretained(this)));
193 PumpLoop(); 198 PumpLoop();
194 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result()); 199 ASSERT_EQ(GetRequestsResult::SUCCESS, last_get_requests_result());
195 ASSERT_EQ(1ul, last_requests().size()); 200 ASSERT_EQ(1ul, last_requests().size());
196 ASSERT_EQ(request2.request_id(), last_requests()[0].request_id()); 201 ASSERT_EQ(request2.request_id(), last_requests()[0].request_id());
197 } 202 }
198 203
199 } // namespace offline_pages 204 } // namespace offline_pages
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698