OLD | NEW |
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 <stdint.h> | 7 #include <stdint.h> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 } | 82 } |
83 | 83 |
84 void ErrorAndRegistrationListCallback( | 84 void ErrorAndRegistrationListCallback( |
85 bool* called, | 85 bool* called, |
86 BackgroundSyncError* out_error, | 86 BackgroundSyncError* out_error, |
87 unsigned long* out_array_size, | 87 unsigned long* out_array_size, |
88 BackgroundSyncError error, | 88 BackgroundSyncError error, |
89 mojo::Array<content::SyncRegistrationPtr> registrations) { | 89 mojo::Array<content::SyncRegistrationPtr> registrations) { |
90 *called = true; | 90 *called = true; |
91 *out_error = error; | 91 *out_error = error; |
92 if (error == BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE) | 92 if (error == BackgroundSyncError::NONE) |
93 *out_array_size = registrations.size(); | 93 *out_array_size = registrations.size(); |
94 } | 94 } |
95 | 95 |
96 class MockPowerMonitorSource : public base::PowerMonitorSource { | 96 class MockPowerMonitorSource : public base::PowerMonitorSource { |
97 private: | 97 private: |
98 // PowerMonitorSource overrides. | 98 // PowerMonitorSource overrides. |
99 bool IsOnBatteryPowerImpl() final { return false; } | 99 bool IsOnBatteryPowerImpl() final { return false; } |
100 }; | 100 }; |
101 | 101 |
102 } // namespace | 102 } // namespace |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 int32_t handle_id, | 215 int32_t handle_id, |
216 const BackgroundSyncService::UnregisterCallback& callback) { | 216 const BackgroundSyncService::UnregisterCallback& callback) { |
217 service_impl_->Unregister( | 217 service_impl_->Unregister( |
218 handle_id, sw_registration_id_, callback); | 218 handle_id, sw_registration_id_, callback); |
219 base::RunLoop().RunUntilIdle(); | 219 base::RunLoop().RunUntilIdle(); |
220 } | 220 } |
221 | 221 |
222 void GetRegistrationOneShot( | 222 void GetRegistrationOneShot( |
223 const mojo::String& tag, | 223 const mojo::String& tag, |
224 const BackgroundSyncService::RegisterCallback& callback) { | 224 const BackgroundSyncService::RegisterCallback& callback) { |
225 service_impl_->GetRegistration( | 225 service_impl_->GetRegistration(BackgroundSyncPeriodicity::ONE_SHOT, tag, |
226 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, tag, | 226 sw_registration_id_, callback); |
227 sw_registration_id_, callback); | |
228 base::RunLoop().RunUntilIdle(); | 227 base::RunLoop().RunUntilIdle(); |
229 } | 228 } |
230 | 229 |
231 void GetRegistrationsOneShot( | 230 void GetRegistrationsOneShot( |
232 const BackgroundSyncService::GetRegistrationsCallback& callback) { | 231 const BackgroundSyncService::GetRegistrationsCallback& callback) { |
233 service_impl_->GetRegistrations( | 232 service_impl_->GetRegistrations(BackgroundSyncPeriodicity::ONE_SHOT, |
234 BackgroundSyncPeriodicity::BACKGROUND_SYNC_PERIODICITY_ONE_SHOT, | 233 sw_registration_id_, callback); |
235 sw_registration_id_, callback); | |
236 base::RunLoop().RunUntilIdle(); | 234 base::RunLoop().RunUntilIdle(); |
237 } | 235 } |
238 | 236 |
239 void NotifyWhenDone( | 237 void NotifyWhenDone( |
240 int32_t handle_id, | 238 int32_t handle_id, |
241 const BackgroundSyncService::NotifyWhenFinishedCallback& callback) { | 239 const BackgroundSyncService::NotifyWhenFinishedCallback& callback) { |
242 service_impl_->NotifyWhenFinished(handle_id, callback); | 240 service_impl_->NotifyWhenFinished(handle_id, callback); |
243 base::RunLoop().RunUntilIdle(); | 241 base::RunLoop().RunUntilIdle(); |
244 } | 242 } |
245 | 243 |
(...skipping 14 matching lines...) Expand all Loading... |
260 // Tests | 258 // Tests |
261 | 259 |
262 TEST_F(BackgroundSyncServiceImplTest, Register) { | 260 TEST_F(BackgroundSyncServiceImplTest, Register) { |
263 bool called = false; | 261 bool called = false; |
264 BackgroundSyncError error; | 262 BackgroundSyncError error; |
265 SyncRegistrationPtr reg; | 263 SyncRegistrationPtr reg; |
266 RegisterOneShot( | 264 RegisterOneShot( |
267 default_sync_registration_.Clone(), | 265 default_sync_registration_.Clone(), |
268 base::Bind(&ErrorAndRegistrationCallback, &called, &error, ®)); | 266 base::Bind(&ErrorAndRegistrationCallback, &called, &error, ®)); |
269 EXPECT_TRUE(called); | 267 EXPECT_TRUE(called); |
270 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, error); | 268 EXPECT_EQ(BackgroundSyncError::NONE, error); |
271 EXPECT_EQ("", reg->tag); | 269 EXPECT_EQ("", reg->tag); |
272 } | 270 } |
273 | 271 |
274 TEST_F(BackgroundSyncServiceImplTest, Unregister) { | 272 TEST_F(BackgroundSyncServiceImplTest, Unregister) { |
275 bool unregister_called = false; | 273 bool unregister_called = false; |
276 BackgroundSyncError unregister_error; | 274 BackgroundSyncError unregister_error; |
277 SyncRegistrationPtr reg; | 275 SyncRegistrationPtr reg; |
278 UnregisterOneShot( | 276 UnregisterOneShot( |
279 default_sync_registration_->handle_id, | 277 default_sync_registration_->handle_id, |
280 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); | 278 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); |
281 EXPECT_TRUE(unregister_called); | 279 EXPECT_TRUE(unregister_called); |
282 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NOT_ALLOWED, | 280 EXPECT_EQ(BackgroundSyncError::NOT_ALLOWED, unregister_error); |
283 unregister_error); | |
284 } | 281 } |
285 | 282 |
286 TEST_F(BackgroundSyncServiceImplTest, UnregisterWithRegisteredSync) { | 283 TEST_F(BackgroundSyncServiceImplTest, UnregisterWithRegisteredSync) { |
287 bool register_called = false; | 284 bool register_called = false; |
288 bool unregister_called = false; | 285 bool unregister_called = false; |
289 BackgroundSyncError register_error; | 286 BackgroundSyncError register_error; |
290 BackgroundSyncError unregister_error; | 287 BackgroundSyncError unregister_error; |
291 SyncRegistrationPtr reg; | 288 SyncRegistrationPtr reg; |
292 RegisterOneShot(default_sync_registration_.Clone(), | 289 RegisterOneShot(default_sync_registration_.Clone(), |
293 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, | 290 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, |
294 ®ister_error, ®)); | 291 ®ister_error, ®)); |
295 EXPECT_TRUE(register_called); | 292 EXPECT_TRUE(register_called); |
296 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, register_error); | 293 EXPECT_EQ(BackgroundSyncError::NONE, register_error); |
297 UnregisterOneShot( | 294 UnregisterOneShot( |
298 reg->handle_id, | 295 reg->handle_id, |
299 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); | 296 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); |
300 EXPECT_TRUE(unregister_called); | 297 EXPECT_TRUE(unregister_called); |
301 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, unregister_error); | 298 EXPECT_EQ(BackgroundSyncError::NONE, unregister_error); |
302 } | 299 } |
303 | 300 |
304 TEST_F(BackgroundSyncServiceImplTest, GetRegistration) { | 301 TEST_F(BackgroundSyncServiceImplTest, GetRegistration) { |
305 bool called = false; | 302 bool called = false; |
306 BackgroundSyncError error; | 303 BackgroundSyncError error; |
307 SyncRegistrationPtr reg; | 304 SyncRegistrationPtr reg; |
308 GetRegistrationOneShot( | 305 GetRegistrationOneShot( |
309 "", base::Bind(&ErrorAndRegistrationCallback, &called, &error, ®)); | 306 "", base::Bind(&ErrorAndRegistrationCallback, &called, &error, ®)); |
310 EXPECT_TRUE(called); | 307 EXPECT_TRUE(called); |
311 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NOT_FOUND, error); | 308 EXPECT_EQ(BackgroundSyncError::NOT_FOUND, error); |
312 } | 309 } |
313 | 310 |
314 TEST_F(BackgroundSyncServiceImplTest, GetRegistrationWithRegisteredSync) { | 311 TEST_F(BackgroundSyncServiceImplTest, GetRegistrationWithRegisteredSync) { |
315 bool register_called = false; | 312 bool register_called = false; |
316 bool getregistration_called = false; | 313 bool getregistration_called = false; |
317 BackgroundSyncError register_error; | 314 BackgroundSyncError register_error; |
318 BackgroundSyncError getregistration_error; | 315 BackgroundSyncError getregistration_error; |
319 SyncRegistrationPtr register_reg; | 316 SyncRegistrationPtr register_reg; |
320 SyncRegistrationPtr getregistration_reg; | 317 SyncRegistrationPtr getregistration_reg; |
321 RegisterOneShot(default_sync_registration_.Clone(), | 318 RegisterOneShot(default_sync_registration_.Clone(), |
322 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, | 319 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, |
323 ®ister_error, ®ister_reg)); | 320 ®ister_error, ®ister_reg)); |
324 EXPECT_TRUE(register_called); | 321 EXPECT_TRUE(register_called); |
325 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, register_error); | 322 EXPECT_EQ(BackgroundSyncError::NONE, register_error); |
326 GetRegistrationOneShot( | 323 GetRegistrationOneShot( |
327 register_reg->tag, | 324 register_reg->tag, |
328 base::Bind(&ErrorAndRegistrationCallback, &getregistration_called, | 325 base::Bind(&ErrorAndRegistrationCallback, &getregistration_called, |
329 &getregistration_error, &getregistration_reg)); | 326 &getregistration_error, &getregistration_reg)); |
330 EXPECT_TRUE(getregistration_called); | 327 EXPECT_TRUE(getregistration_called); |
331 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, | 328 EXPECT_EQ(BackgroundSyncError::NONE, getregistration_error); |
332 getregistration_error); | |
333 } | 329 } |
334 | 330 |
335 TEST_F(BackgroundSyncServiceImplTest, GetRegistrations) { | 331 TEST_F(BackgroundSyncServiceImplTest, GetRegistrations) { |
336 bool called = false; | 332 bool called = false; |
337 BackgroundSyncError error; | 333 BackgroundSyncError error; |
338 unsigned long array_size = 0UL; | 334 unsigned long array_size = 0UL; |
339 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback, &called, | 335 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback, &called, |
340 &error, &array_size)); | 336 &error, &array_size)); |
341 EXPECT_TRUE(called); | 337 EXPECT_TRUE(called); |
342 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, error); | 338 EXPECT_EQ(BackgroundSyncError::NONE, error); |
343 EXPECT_EQ(0UL, array_size); | 339 EXPECT_EQ(0UL, array_size); |
344 } | 340 } |
345 | 341 |
346 TEST_F(BackgroundSyncServiceImplTest, GetRegistrationsWithRegisteredSync) { | 342 TEST_F(BackgroundSyncServiceImplTest, GetRegistrationsWithRegisteredSync) { |
347 bool register_called = false; | 343 bool register_called = false; |
348 bool getregistrations_called = false; | 344 bool getregistrations_called = false; |
349 BackgroundSyncError register_error; | 345 BackgroundSyncError register_error; |
350 BackgroundSyncError getregistrations_error; | 346 BackgroundSyncError getregistrations_error; |
351 SyncRegistrationPtr register_reg; | 347 SyncRegistrationPtr register_reg; |
352 unsigned long array_size = 0UL; | 348 unsigned long array_size = 0UL; |
353 RegisterOneShot(default_sync_registration_.Clone(), | 349 RegisterOneShot(default_sync_registration_.Clone(), |
354 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, | 350 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, |
355 ®ister_error, ®ister_reg)); | 351 ®ister_error, ®ister_reg)); |
356 EXPECT_TRUE(register_called); | 352 EXPECT_TRUE(register_called); |
357 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, register_error); | 353 EXPECT_EQ(BackgroundSyncError::NONE, register_error); |
358 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback, | 354 GetRegistrationsOneShot(base::Bind(&ErrorAndRegistrationListCallback, |
359 &getregistrations_called, | 355 &getregistrations_called, |
360 &getregistrations_error, &array_size)); | 356 &getregistrations_error, &array_size)); |
361 EXPECT_TRUE(getregistrations_called); | 357 EXPECT_TRUE(getregistrations_called); |
362 EXPECT_EQ(BackgroundSyncError::BACKGROUND_SYNC_ERROR_NONE, | 358 EXPECT_EQ(BackgroundSyncError::NONE, getregistrations_error); |
363 getregistrations_error); | |
364 EXPECT_EQ(1UL, array_size); | 359 EXPECT_EQ(1UL, array_size); |
365 } | 360 } |
366 | 361 |
367 TEST_F(BackgroundSyncServiceImplTest, NotifyWhenFinished) { | 362 TEST_F(BackgroundSyncServiceImplTest, NotifyWhenFinished) { |
368 // Register a sync event. | 363 // Register a sync event. |
369 bool register_called = false; | 364 bool register_called = false; |
370 BackgroundSyncError register_error; | 365 BackgroundSyncError register_error; |
371 SyncRegistrationPtr reg; | 366 SyncRegistrationPtr reg; |
372 RegisterOneShot(default_sync_registration_.Clone(), | 367 RegisterOneShot(default_sync_registration_.Clone(), |
373 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, | 368 base::Bind(&ErrorAndRegistrationCallback, ®ister_called, |
374 ®ister_error, ®)); | 369 ®ister_error, ®)); |
375 EXPECT_TRUE(register_called); | 370 EXPECT_TRUE(register_called); |
376 EXPECT_EQ(BACKGROUND_SYNC_ERROR_NONE, register_error); | 371 EXPECT_EQ(BackgroundSyncError::NONE, register_error); |
377 | 372 |
378 // Unregister it. | 373 // Unregister it. |
379 bool unregister_called = false; | 374 bool unregister_called = false; |
380 BackgroundSyncError unregister_error; | 375 BackgroundSyncError unregister_error; |
381 UnregisterOneShot( | 376 UnregisterOneShot( |
382 reg->handle_id, | 377 reg->handle_id, |
383 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); | 378 base::Bind(&ErrorCallback, &unregister_called, &unregister_error)); |
384 EXPECT_TRUE(unregister_called); | 379 EXPECT_TRUE(unregister_called); |
385 EXPECT_EQ(BACKGROUND_SYNC_ERROR_NONE, unregister_error); | 380 EXPECT_EQ(BackgroundSyncError::NONE, unregister_error); |
386 | 381 |
387 // Call NotifyWhenDone and verify that it calls back with unregistered. | 382 // Call NotifyWhenDone and verify that it calls back with unregistered. |
388 bool notify_done_called = false; | 383 bool notify_done_called = false; |
389 BackgroundSyncError notify_done_error = BACKGROUND_SYNC_ERROR_NONE; | 384 BackgroundSyncError notify_done_error = BackgroundSyncError::NONE; |
390 BackgroundSyncState notify_done_sync_state = BACKGROUND_SYNC_STATE_SUCCESS; | 385 BackgroundSyncState notify_done_sync_state = BackgroundSyncState::SUCCESS; |
391 | 386 |
392 NotifyWhenDone(reg->handle_id, | 387 NotifyWhenDone(reg->handle_id, |
393 base::Bind(&ErrorAndStateCallback, ¬ify_done_called, | 388 base::Bind(&ErrorAndStateCallback, ¬ify_done_called, |
394 ¬ify_done_error, ¬ify_done_sync_state)); | 389 ¬ify_done_error, ¬ify_done_sync_state)); |
395 EXPECT_TRUE(notify_done_called); | 390 EXPECT_TRUE(notify_done_called); |
396 EXPECT_EQ(BACKGROUND_SYNC_ERROR_NONE, notify_done_error); | 391 EXPECT_EQ(BackgroundSyncError::NONE, notify_done_error); |
397 EXPECT_EQ(BACKGROUND_SYNC_STATE_UNREGISTERED, notify_done_sync_state); | 392 EXPECT_EQ(BackgroundSyncState::UNREGISTERED, notify_done_sync_state); |
398 } | 393 } |
399 | 394 |
400 } // namespace content | 395 } // namespace content |
OLD | NEW |