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

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

Issue 2030773002: Add unit tests for the Background Scheduler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Disable flaky test Created 4 years, 6 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_coordinator.h" 5 #include "components/offline_pages/background/request_coordinator.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 84
85 void SetUp() override; 85 void SetUp() override;
86 86
87 void PumpLoop(); 87 void PumpLoop();
88 88
89 RequestCoordinator* coordinator() { 89 RequestCoordinator* coordinator() {
90 return coordinator_.get(); 90 return coordinator_.get();
91 } 91 }
92 92
93 // Empty callback function 93 // Empty callback function
94 void EmptyCallbackFunction() { 94 void EmptyCallbackFunction(bool result) {
95 } 95 }
96 96
97 // Callback for getting requests. 97 // Callback for getting requests.
98 void GetRequestsDone(RequestQueue::GetRequestsResult result, 98 void GetRequestsDone(RequestQueue::GetRequestsResult result,
99 const std::vector<SavePageRequest>& requests); 99 const std::vector<SavePageRequest>& requests);
100 100
101 RequestQueue::GetRequestsResult last_get_requests_result() const { 101 RequestQueue::GetRequestsResult last_get_requests_result() const {
102 return last_get_requests_result_; 102 return last_get_requests_result_;
103 } 103 }
104 104
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 138 }
139 139
140 void RequestCoordinatorTest::GetRequestsDone( 140 void RequestCoordinatorTest::GetRequestsDone(
141 RequestQueue::GetRequestsResult result, 141 RequestQueue::GetRequestsResult result,
142 const std::vector<SavePageRequest>& requests) { 142 const std::vector<SavePageRequest>& requests) {
143 last_get_requests_result_ = result; 143 last_get_requests_result_ = result;
144 last_requests_ = requests; 144 last_requests_ = requests;
145 } 145 }
146 146
147 TEST_F(RequestCoordinatorTest, StartProcessingWithNoRequests) { 147 TEST_F(RequestCoordinatorTest, StartProcessingWithNoRequests) {
148 RequestCoordinator::ProcessingDoneCallback callback = 148 base::Callback<void(bool)> callback =
149 base::Bind( 149 base::Bind(
150 &RequestCoordinatorTest::EmptyCallbackFunction, 150 &RequestCoordinatorTest::EmptyCallbackFunction,
151 base::Unretained(this)); 151 base::Unretained(this));
152 EXPECT_FALSE(coordinator()->StartProcessing(callback)); 152 EXPECT_FALSE(coordinator()->StartProcessing(callback));
153 } 153 }
154 154
155 TEST_F(RequestCoordinatorTest, SavePageLater) { 155 TEST_F(RequestCoordinatorTest, SavePageLater) {
156 EXPECT_TRUE(coordinator()->SavePageLater(kUrl, kClientId)); 156 EXPECT_TRUE(coordinator()->SavePageLater(kUrl, kClientId));
157 157
158 // Expect that a request got placed on the queue. 158 // Expect that a request got placed on the queue.
159 coordinator()->queue()->GetRequests( 159 coordinator()->queue()->GetRequests(
160 base::Bind(&RequestCoordinatorTest::GetRequestsDone, 160 base::Bind(&RequestCoordinatorTest::GetRequestsDone,
161 base::Unretained(this))); 161 base::Unretained(this)));
162 162
163 // Wait for callbacks to finish, both request queue and offliner. 163 // Wait for callbacks to finish, both request queue and offliner.
164 PumpLoop(); 164 PumpLoop();
165 165
166 // Check the request queue is as expected. 166 // Check the request queue is as expected.
167 EXPECT_EQ(1UL, last_requests().size()); 167 EXPECT_EQ(1UL, last_requests().size());
168 EXPECT_EQ(kUrl, last_requests()[0].url()); 168 EXPECT_EQ(kUrl, last_requests()[0].url());
169 EXPECT_EQ(kClientId, last_requests()[0].client_id()); 169 EXPECT_EQ(kClientId, last_requests()[0].client_id());
170 170
171 // Expect that the scheduler got notified. 171 // Expect that the scheduler got notified.
172 SchedulerStub* scheduler_stub = reinterpret_cast<SchedulerStub*>( 172 SchedulerStub* scheduler_stub = reinterpret_cast<SchedulerStub*>(
173 coordinator()->scheduler()); 173 coordinator()->scheduler());
174 EXPECT_TRUE(scheduler_stub->schedule_called()); 174 EXPECT_TRUE(scheduler_stub->schedule_called());
175 } 175 }
176 176
177 } // namespace offline_pages 177 } // namespace offline_pages
OLDNEW
« no previous file with comments | « components/offline_pages/background/request_coordinator.cc ('k') | components/offline_pages/background/request_picker.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698