| 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 |