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

Side by Side Diff: content/browser/background_fetch/background_fetch_job_controller_unittest.cc

Issue 2778793002: Start aligning BackgroundFetchRequestInfo with the passed in request object. (Closed)
Patch Set: Created 3 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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 "content/browser/background_fetch/background_fetch_job_controller.h" 5 #include "content/browser/background_fetch/background_fetch_job_controller.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/callback_helpers.h" 11 #include "base/callback_helpers.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/guid.h" 13 #include "base/guid.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/run_loop.h" 15 #include "base/run_loop.h"
16 #include "base/strings/string_number_conversions.h" 16 #include "base/strings/string_number_conversions.h"
17 #include "content/browser/background_fetch/background_fetch_data_manager.h" 17 #include "content/browser/background_fetch/background_fetch_data_manager.h"
18 #include "content/browser/background_fetch/background_fetch_job_info.h" 18 #include "content/browser/background_fetch/background_fetch_job_info.h"
19 #include "content/browser/background_fetch/background_fetch_request_info.h" 19 #include "content/browser/background_fetch/background_fetch_request_info.h"
20 #include "content/common/service_worker/service_worker_types.h"
20 #include "content/public/browser/browser_thread.h" 21 #include "content/public/browser/browser_thread.h"
21 #include "content/public/test/fake_download_item.h" 22 #include "content/public/test/fake_download_item.h"
22 #include "content/public/test/mock_download_manager.h" 23 #include "content/public/test/mock_download_manager.h"
23 #include "content/public/test/test_browser_context.h" 24 #include "content/public/test/test_browser_context.h"
24 #include "content/public/test/test_browser_thread_bundle.h" 25 #include "content/public/test/test_browser_thread_bundle.h"
25 #include "testing/gtest/include/gtest/gtest.h" 26 #include "testing/gtest/include/gtest/gtest.h"
26 27
27 namespace content { 28 namespace content {
28 29
29 namespace { 30 namespace {
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 TestBrowserThreadBundle thread_bundle_; 198 TestBrowserThreadBundle thread_bundle_;
198 TestBrowserContext browser_context_; 199 TestBrowserContext browser_context_;
199 std::unique_ptr<FakeBackgroundFetchDataManager> data_manager_; 200 std::unique_ptr<FakeBackgroundFetchDataManager> data_manager_;
200 std::unique_ptr<BackgroundFetchJobController> job_controller_; 201 std::unique_ptr<BackgroundFetchJobController> job_controller_;
201 MockDownloadManagerWithCallback* download_manager_; 202 MockDownloadManagerWithCallback* download_manager_;
202 }; 203 };
203 204
204 TEST_F(BackgroundFetchJobControllerTest, SingleRequestJob) { 205 TEST_F(BackgroundFetchJobControllerTest, SingleRequestJob) {
205 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)), 206 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)),
206 kServiceWorkerRegistrationId); 207 kServiceWorkerRegistrationId);
207 BackgroundFetchRequestInfo request_info(GURL(kTestUrl), kJobGuid); 208 ServiceWorkerHeaderMap headers;
209 ServiceWorkerFetchRequest request(GURL(kTestUrl), "GET", headers, Referrer(),
210 false /* is_reload */);
211 BackgroundFetchRequestInfo request_info(request);
208 request_info.set_state(DownloadItem::DownloadState::IN_PROGRESS); 212 request_info.set_state(DownloadItem::DownloadState::IN_PROGRESS);
209 data_manager()->set_next_request(&request_info); 213 data_manager()->set_next_request(&request_info);
210 InitializeJobController(); 214 InitializeJobController();
211 215
212 EXPECT_CALL(*(download_manager()), 216 EXPECT_CALL(*(download_manager()),
213 DownloadUrlMock(::testing::Pointee(::testing::Property( 217 DownloadUrlMock(::testing::Pointee(::testing::Property(
214 &DownloadUrlParameters::url, GURL(kTestUrl))))) 218 &DownloadUrlParameters::url, GURL(kTestUrl)))))
215 .Times(1); 219 .Times(1);
216 220
217 StartProcessing(); 221 StartProcessing();
(...skipping 15 matching lines...) Expand all
233 237
234 EXPECT_EQ(DownloadItem::DownloadState::COMPLETE, request_info.state()); 238 EXPECT_EQ(DownloadItem::DownloadState::COMPLETE, request_info.state());
235 EXPECT_TRUE(did_complete_job()); 239 EXPECT_TRUE(did_complete_job());
236 } 240 }
237 241
238 TEST_F(BackgroundFetchJobControllerTest, MultipleRequestJob) { 242 TEST_F(BackgroundFetchJobControllerTest, MultipleRequestJob) {
239 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)), 243 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)),
240 kServiceWorkerRegistrationId); 244 kServiceWorkerRegistrationId);
241 std::vector<BackgroundFetchRequestInfo> request_infos; 245 std::vector<BackgroundFetchRequestInfo> request_infos;
242 for (int i = 0; i < 10; i++) { 246 for (int i = 0; i < 10; i++) {
243 request_infos.emplace_back(GURL(kTestUrl), base::IntToString(i)); 247 ServiceWorkerHeaderMap headers;
248 ServiceWorkerFetchRequest request(GURL(kTestUrl), "GET", headers,
249 Referrer(), false /* is_reload */);
250 request_infos.emplace_back(request);
244 } 251 }
245 data_manager()->set_next_request(&request_infos[0]); 252 data_manager()->set_next_request(&request_infos[0]);
246 InitializeJobController(); 253 InitializeJobController();
247 254
248 EXPECT_CALL(*(download_manager()), 255 EXPECT_CALL(*(download_manager()),
249 DownloadUrlMock(::testing::Pointee(::testing::Property( 256 DownloadUrlMock(::testing::Pointee(::testing::Property(
250 &DownloadUrlParameters::url, GURL(kTestUrl))))) 257 &DownloadUrlParameters::url, GURL(kTestUrl)))))
251 .Times(10); 258 .Times(10);
252 259
253 StartProcessing(); 260 StartProcessing();
(...skipping 28 matching lines...) Expand all
282 item = download_items[9].get(); 289 item = download_items[9].get();
283 item->SetState(DownloadItem::DownloadState::COMPLETE); 290 item->SetState(DownloadItem::DownloadState::COMPLETE);
284 ItemObserver()->OnDownloadUpdated(item); 291 ItemObserver()->OnDownloadUpdated(item);
285 292
286 EXPECT_TRUE(did_complete_job()); 293 EXPECT_TRUE(did_complete_job());
287 } 294 }
288 295
289 TEST_F(BackgroundFetchJobControllerTest, UpdateStorageState) { 296 TEST_F(BackgroundFetchJobControllerTest, UpdateStorageState) {
290 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)), 297 BackgroundFetchJobInfo job_info(kTag, url::Origin(GURL(kOrigin)),
291 kServiceWorkerRegistrationId); 298 kServiceWorkerRegistrationId);
292 BackgroundFetchRequestInfo request_info(GURL(kTestUrl), kJobGuid); 299 ServiceWorkerHeaderMap headers;
300 ServiceWorkerFetchRequest request(GURL(kTestUrl), "GET", headers, Referrer(),
301 false /* is_reload */);
302 BackgroundFetchRequestInfo request_info(request);
293 request_info.set_state(DownloadItem::DownloadState::IN_PROGRESS); 303 request_info.set_state(DownloadItem::DownloadState::IN_PROGRESS);
294 data_manager()->set_next_request(&request_info); 304 data_manager()->set_next_request(&request_info);
295 InitializeJobController(); 305 InitializeJobController();
296 306
297 EXPECT_CALL(*(download_manager()), 307 EXPECT_CALL(*(download_manager()),
298 DownloadUrlMock(::testing::Pointee(::testing::Property( 308 DownloadUrlMock(::testing::Pointee(::testing::Property(
299 &DownloadUrlParameters::url, GURL(kTestUrl))))) 309 &DownloadUrlParameters::url, GURL(kTestUrl)))))
300 .Times(1); 310 .Times(1);
301 311
302 StartProcessing(); 312 StartProcessing();
(...skipping 10 matching lines...) Expand all
313 // Trigger the observer. The JobController should update the JobData that the 323 // Trigger the observer. The JobController should update the JobData that the
314 // request is complete and should fill in storage state. 324 // request is complete and should fill in storage state.
315 ItemObserver()->OnDownloadUpdated(item); 325 ItemObserver()->OnDownloadUpdated(item);
316 326
317 EXPECT_EQ(123, request_info.received_bytes()); 327 EXPECT_EQ(123, request_info.received_bytes());
318 EXPECT_TRUE(data_manager()->IsComplete(kJobGuid)); 328 EXPECT_TRUE(data_manager()->IsComplete(kJobGuid));
319 EXPECT_TRUE(did_complete_job()); 329 EXPECT_TRUE(did_complete_job());
320 } 330 }
321 331
322 } // namespace content 332 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698