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