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