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

Side by Side Diff: content/browser/background_sync/background_sync_service_impl_unittest.cc

Issue 1282013004: BackgroundSyncManager tracks client registrations (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_sync/background_sync_service_impl.h" 5 #include "content/browser/background_sync/background_sync_service_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/power_monitor/power_monitor.h" 10 #include "base/power_monitor/power_monitor.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 void RemoveWindowClient() { 164 void RemoveWindowClient() {
165 sw_registration_->active_version()->RemoveControllee(provider_host_.get()); 165 sw_registration_->active_version()->RemoveControllee(provider_host_.get());
166 } 166 }
167 167
168 void CreateBackgroundSyncServiceImpl() { 168 void CreateBackgroundSyncServiceImpl() {
169 // Create a dummy mojo channel so that the BackgroundSyncServiceImpl can be 169 // Create a dummy mojo channel so that the BackgroundSyncServiceImpl can be
170 // instantiated 170 // instantiated
171 mojo::InterfaceRequest<BackgroundSyncService> service_request = 171 mojo::InterfaceRequest<BackgroundSyncService> service_request =
172 mojo::GetProxy(&service_ptr_); 172 mojo::GetProxy(&service_ptr_);
173 // Create a new BackgroundSyncServiceImpl bound to the dummy channel 173 // Create a new BackgroundSyncServiceImpl bound to the dummy channel
174 service_impl_.reset(new BackgroundSyncServiceImpl( 174 background_sync_context_->CreateService(service_request.Pass());
175 background_sync_context_.get(), service_request.Pass()));
176 base::RunLoop().RunUntilIdle(); 175 base::RunLoop().RunUntilIdle();
176
177 service_impl_ = *background_sync_context_->services_.begin();
178 ASSERT_TRUE(service_impl_);
177 } 179 }
178 180
179 // Helpers for testing BackgroundSyncServiceImpl methods 181 // Helpers for testing BackgroundSyncServiceImpl methods
180 void RegisterOneShot( 182 void RegisterOneShot(
181 SyncRegistrationPtr sync, 183 SyncRegistrationPtr sync,
182 const BackgroundSyncService::RegisterCallback& callback) { 184 const BackgroundSyncService::RegisterCallback& callback) {
183 service_impl_->Register(sync.Pass(), sw_registration_id_, callback); 185 service_impl_->Register(sync.Pass(), sw_registration_id_, callback);
184 base::RunLoop().RunUntilIdle(); 186 base::RunLoop().RunUntilIdle();
185 } 187 }
186 188
187 void UnregisterOneShot( 189 void UnregisterOneShot(
188 SyncRegistrationPtr sync, 190 SyncRegistrationPtr sync,
189 const BackgroundSyncService::UnregisterCallback& callback) { 191 const BackgroundSyncService::UnregisterCallback& callback) {
190 service_impl_->Unregister( 192 service_impl_->Unregister(
191 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, 193 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT,
192 sync->id, sync->tag, sw_registration_id_, callback); 194 sync->id, sw_registration_id_, callback);
193 base::RunLoop().RunUntilIdle(); 195 base::RunLoop().RunUntilIdle();
194 } 196 }
195 197
196 void GetRegistrationOneShot( 198 void GetRegistrationOneShot(
197 const mojo::String& tag, 199 const mojo::String& tag,
198 const BackgroundSyncService::RegisterCallback& callback) { 200 const BackgroundSyncService::RegisterCallback& callback) {
199 service_impl_->GetRegistration( 201 service_impl_->GetRegistration(
200 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, tag, 202 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, tag,
201 sw_registration_id_, callback); 203 sw_registration_id_, callback);
202 base::RunLoop().RunUntilIdle(); 204 base::RunLoop().RunUntilIdle();
203 } 205 }
204 206
205 void GetRegistrationsOneShot( 207 void GetRegistrationsOneShot(
206 const BackgroundSyncService::GetRegistrationsCallback& callback) { 208 const BackgroundSyncService::GetRegistrationsCallback& callback) {
207 service_impl_->GetRegistrations( 209 service_impl_->GetRegistrations(
208 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, 210 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT,
209 sw_registration_id_, callback); 211 sw_registration_id_, callback);
210 base::RunLoop().RunUntilIdle(); 212 base::RunLoop().RunUntilIdle();
211 } 213 }
212 214
213 scoped_ptr<TestBrowserThreadBundle> thread_bundle_; 215 scoped_ptr<TestBrowserThreadBundle> thread_bundle_;
214 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_; 216 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
215 scoped_ptr<EmbeddedWorkerTestHelper> embedded_worker_helper_; 217 scoped_ptr<EmbeddedWorkerTestHelper> embedded_worker_helper_;
216 scoped_ptr<base::PowerMonitor> power_monitor_; 218 scoped_ptr<base::PowerMonitor> power_monitor_;
217 scoped_refptr<BackgroundSyncContextImpl> background_sync_context_; 219 scoped_refptr<BackgroundSyncContextImpl> background_sync_context_;
218 scoped_ptr<ServiceWorkerProviderHost> provider_host_; 220 scoped_ptr<ServiceWorkerProviderHost> provider_host_;
219 int64 sw_registration_id_; 221 int64 sw_registration_id_;
220 scoped_refptr<ServiceWorkerRegistration> sw_registration_; 222 scoped_refptr<ServiceWorkerRegistration> sw_registration_;
221 BackgroundSyncServicePtr service_ptr_; 223 BackgroundSyncServicePtr service_ptr_;
222 scoped_ptr<BackgroundSyncServiceImpl> service_impl_; 224 BackgroundSyncServiceImpl*
225 service_impl_; // Owned by background_sync_context_
223 SyncRegistrationPtr default_sync_registration_; 226 SyncRegistrationPtr default_sync_registration_;
224 }; 227 };
225 228
226 // Tests 229 // Tests
227 230
228 TEST_F(BackgroundSyncServiceImplTest, Register) { 231 TEST_F(BackgroundSyncServiceImplTest, Register) {
229 bool called = false; 232 bool called = false;
230 BackgroundSyncError error; 233 BackgroundSyncError error;
231 SyncRegistrationPtr reg; 234 SyncRegistrationPtr reg;
232 RegisterOneShot( 235 RegisterOneShot(
(...skipping 17 matching lines...) Expand all
250 } 253 }
251 254
252 TEST_F(BackgroundSyncServiceImplTest, Unregister) { 255 TEST_F(BackgroundSyncServiceImplTest, Unregister) {
253 bool unregister_called = false; 256 bool unregister_called = false;
254 BackgroundSyncError unregister_error; 257 BackgroundSyncError unregister_error;
255 SyncRegistrationPtr reg; 258 SyncRegistrationPtr reg;
256 UnregisterOneShot( 259 UnregisterOneShot(
257 default_sync_registration_.Clone(), 260 default_sync_registration_.Clone(),
258 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); 261 base::Bind(&ErrorCallback, &unregister_called, &unregister_error));
259 EXPECT_TRUE(unregister_called); 262 EXPECT_TRUE(unregister_called);
260 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NOT_FOUND, 263 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NOT_ALLOWED,
261 unregister_error); 264 unregister_error);
262 } 265 }
263 266
264 TEST_F(BackgroundSyncServiceImplTest, UnregisterWithRegisteredSync) { 267 TEST_F(BackgroundSyncServiceImplTest, UnregisterWithRegisteredSync) {
265 bool register_called = false; 268 bool register_called = false;
266 bool unregister_called = false; 269 bool unregister_called = false;
267 BackgroundSyncError register_error; 270 BackgroundSyncError register_error;
268 BackgroundSyncError unregister_error; 271 BackgroundSyncError unregister_error;
269 SyncRegistrationPtr reg; 272 SyncRegistrationPtr reg;
270 RegisterOneShot(default_sync_registration_.Clone(), 273 RegisterOneShot(default_sync_registration_.Clone(),
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback, 338 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback,
336 &getregistrations_called, 339 &getregistrations_called,
337 &getregistrations_error, &array_size)); 340 &getregistrations_error, &array_size));
338 EXPECT_TRUE(getregistrations_called); 341 EXPECT_TRUE(getregistrations_called);
339 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, 342 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE,
340 getregistrations_error); 343 getregistrations_error);
341 EXPECT_EQ(1UL, array_size); 344 EXPECT_EQ(1UL, array_size);
342 } 345 }
343 346
344 } // namespace content 347 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698