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

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

Issue 1068863003: [BackgroundSyncManager] Rename BackgroundSyncRegistration.name to tag (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@registration_options
Patch Set: Rebase Created 5 years, 8 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
« no previous file with comments | « content/browser/background_sync/background_sync_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_manager.h" 5 #include "content/browser/background_sync/background_sync_manager.h"
6 6
7 #include "base/files/scoped_temp_dir.h" 7 #include "base/files/scoped_temp_dir.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/thread_task_runner_handle.h" 10 #include "base/thread_task_runner_handle.h"
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 }; 134 };
135 135
136 class BackgroundSyncManagerTest : public testing::Test { 136 class BackgroundSyncManagerTest : public testing::Test {
137 public: 137 public:
138 BackgroundSyncManagerTest() 138 BackgroundSyncManagerTest()
139 : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP), 139 : browser_thread_bundle_(TestBrowserThreadBundle::IO_MAINLOOP),
140 sync_reg_1_(BackgroundSyncManager::BackgroundSyncRegistration()), 140 sync_reg_1_(BackgroundSyncManager::BackgroundSyncRegistration()),
141 sync_reg_2_(BackgroundSyncManager::BackgroundSyncRegistration()), 141 sync_reg_2_(BackgroundSyncManager::BackgroundSyncRegistration()),
142 callback_error_(BackgroundSyncManager::ERROR_TYPE_OK), 142 callback_error_(BackgroundSyncManager::ERROR_TYPE_OK),
143 callback_sw_status_code_(SERVICE_WORKER_OK) { 143 callback_sw_status_code_(SERVICE_WORKER_OK) {
144 sync_reg_1_.name = "foo"; 144 sync_reg_1_.tag = "foo";
145 sync_reg_2_.name = "bar"; 145 sync_reg_2_.tag = "bar";
146 } 146 }
147 147
148 void SetUp() override { 148 void SetUp() override {
149 helper_.reset( 149 helper_.reset(
150 new EmbeddedWorkerTestHelper(base::FilePath(), kRenderProcessId)); 150 new EmbeddedWorkerTestHelper(base::FilePath(), kRenderProcessId));
151 151
152 background_sync_manager_ = 152 background_sync_manager_ =
153 BackgroundSyncManager::Create(helper_->context_wrapper()); 153 BackgroundSyncManager::Create(helper_->context_wrapper());
154 154
155 // Wait for storage to finish initializing before registering service 155 // Wait for storage to finish initializing before registering service
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 return UnregisterWithServiceWorkerId(sw_registration_id_1_, 221 return UnregisterWithServiceWorkerId(sw_registration_id_1_,
222 sync_registration); 222 sync_registration);
223 } 223 }
224 224
225 bool UnregisterWithServiceWorkerId( 225 bool UnregisterWithServiceWorkerId(
226 int64 sw_registration_id, 226 int64 sw_registration_id,
227 const BackgroundSyncManager::BackgroundSyncRegistration& 227 const BackgroundSyncManager::BackgroundSyncRegistration&
228 sync_registration) { 228 sync_registration) {
229 bool was_called = false; 229 bool was_called = false;
230 background_sync_manager_->Unregister( 230 background_sync_manager_->Unregister(
231 GURL(kOrigin), sw_registration_id, sync_registration.name, 231 GURL(kOrigin), sw_registration_id, sync_registration.tag,
232 sync_registration.id, 232 sync_registration.id,
233 base::Bind(&BackgroundSyncManagerTest::StatusCallback, 233 base::Bind(&BackgroundSyncManagerTest::StatusCallback,
234 base::Unretained(this), &was_called)); 234 base::Unretained(this), &was_called));
235 base::RunLoop().RunUntilIdle(); 235 base::RunLoop().RunUntilIdle();
236 EXPECT_TRUE(was_called); 236 EXPECT_TRUE(was_called);
237 return callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK; 237 return callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK;
238 } 238 }
239 239
240 bool GetRegistration(const std::string& sync_registration_name) { 240 bool GetRegistration(const std::string& sync_registration_tag) {
241 return GetRegistrationWithServiceWorkerId(sw_registration_id_1_, 241 return GetRegistrationWithServiceWorkerId(sw_registration_id_1_,
242 sync_registration_name); 242 sync_registration_tag);
243 } 243 }
244 244
245 bool GetRegistrationWithServiceWorkerId( 245 bool GetRegistrationWithServiceWorkerId(
246 int64 sw_registration_id, 246 int64 sw_registration_id,
247 const std::string& sync_registration_name) { 247 const std::string& sync_registration_tag) {
248 bool was_called = false; 248 bool was_called = false;
249 background_sync_manager_->GetRegistration( 249 background_sync_manager_->GetRegistration(
250 GURL(kOrigin), sw_registration_id, sync_registration_name, 250 GURL(kOrigin), sw_registration_id, sync_registration_tag,
251 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback, 251 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback,
252 base::Unretained(this), &was_called)); 252 base::Unretained(this), &was_called));
253 base::RunLoop().RunUntilIdle(); 253 base::RunLoop().RunUntilIdle();
254 EXPECT_TRUE(was_called); 254 EXPECT_TRUE(was_called);
255 255
256 if (callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK) 256 if (callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK)
257 EXPECT_TRUE(sync_registration_name == callback_registration_.name); 257 EXPECT_TRUE(sync_registration_tag == callback_registration_.tag);
258 258
259 return callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK; 259 return callback_error_ == BackgroundSyncManager::ERROR_TYPE_OK;
260 } 260 }
261 261
262 void StorageRegistrationCallback(ServiceWorkerStatusCode result) { 262 void StorageRegistrationCallback(ServiceWorkerStatusCode result) {
263 callback_sw_status_code_ = result; 263 callback_sw_status_code_ = result;
264 } 264 }
265 265
266 void UnregisterServiceWorker(uint64 sw_registration_id) { 266 void UnregisterServiceWorker(uint64 sw_registration_id) {
267 bool called = false; 267 bool called = false;
(...skipping 25 matching lines...) Expand all
293 BackgroundSyncManager::BackgroundSyncRegistration callback_registration_; 293 BackgroundSyncManager::BackgroundSyncRegistration callback_registration_;
294 ServiceWorkerStatusCode callback_sw_status_code_; 294 ServiceWorkerStatusCode callback_sw_status_code_;
295 }; 295 };
296 296
297 TEST_F(BackgroundSyncManagerTest, Register) { 297 TEST_F(BackgroundSyncManagerTest, Register) {
298 EXPECT_TRUE(Register(sync_reg_1_)); 298 EXPECT_TRUE(Register(sync_reg_1_));
299 } 299 }
300 300
301 TEST_F(BackgroundSyncManagerTest, RegistractionIntact) { 301 TEST_F(BackgroundSyncManagerTest, RegistractionIntact) {
302 EXPECT_TRUE(Register(sync_reg_1_)); 302 EXPECT_TRUE(Register(sync_reg_1_));
303 EXPECT_STREQ(sync_reg_1_.name.c_str(), callback_registration_.name.c_str()); 303 EXPECT_STREQ(sync_reg_1_.tag.c_str(), callback_registration_.tag.c_str());
304 EXPECT_NE( 304 EXPECT_NE(
305 BackgroundSyncManager::BackgroundSyncRegistration::kInvalidRegistrationId, 305 BackgroundSyncManager::BackgroundSyncRegistration::kInvalidRegistrationId,
306 callback_registration_.id); 306 callback_registration_.id);
307 } 307 }
308 308
309 TEST_F(BackgroundSyncManagerTest, RegisterExistingKeepsId) { 309 TEST_F(BackgroundSyncManagerTest, RegisterExistingKeepsId) {
310 EXPECT_TRUE(Register(sync_reg_1_)); 310 EXPECT_TRUE(Register(sync_reg_1_));
311 BackgroundSyncManager::BackgroundSyncRegistration first_registration = 311 BackgroundSyncManager::BackgroundSyncRegistration first_registration =
312 callback_registration_; 312 callback_registration_;
313 EXPECT_TRUE(Register(sync_reg_1_)); 313 EXPECT_TRUE(Register(sync_reg_1_));
(...skipping 11 matching lines...) Expand all
325 EXPECT_LT(first_registration.id, callback_registration_.id); 325 EXPECT_LT(first_registration.id, callback_registration_.id);
326 EXPECT_FALSE(callback_registration_.Equals(first_registration)); 326 EXPECT_FALSE(callback_registration_.Equals(first_registration));
327 } 327 }
328 328
329 TEST_F(BackgroundSyncManagerTest, RegisterBadBackend) { 329 TEST_F(BackgroundSyncManagerTest, RegisterBadBackend) {
330 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager(); 330 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager();
331 manager->set_corrupt_backend(true); 331 manager->set_corrupt_backend(true);
332 EXPECT_FALSE(Register(sync_reg_1_)); 332 EXPECT_FALSE(Register(sync_reg_1_));
333 manager->set_corrupt_backend(false); 333 manager->set_corrupt_backend(false);
334 EXPECT_FALSE(Register(sync_reg_1_)); 334 EXPECT_FALSE(Register(sync_reg_1_));
335 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 335 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
336 } 336 }
337 337
338 TEST_F(BackgroundSyncManagerTest, TwoRegistrations) { 338 TEST_F(BackgroundSyncManagerTest, TwoRegistrations) {
339 EXPECT_TRUE(Register(sync_reg_1_)); 339 EXPECT_TRUE(Register(sync_reg_1_));
340 EXPECT_TRUE(Register(sync_reg_2_)); 340 EXPECT_TRUE(Register(sync_reg_2_));
341 } 341 }
342 342
343 TEST_F(BackgroundSyncManagerTest, GetRegistrationNonExisting) { 343 TEST_F(BackgroundSyncManagerTest, GetRegistrationNonExisting) {
344 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 344 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
345 } 345 }
346 346
347 TEST_F(BackgroundSyncManagerTest, GetRegistrationExisting) { 347 TEST_F(BackgroundSyncManagerTest, GetRegistrationExisting) {
348 EXPECT_TRUE(Register(sync_reg_1_)); 348 EXPECT_TRUE(Register(sync_reg_1_));
349 EXPECT_TRUE(GetRegistration(sync_reg_1_.name)); 349 EXPECT_TRUE(GetRegistration(sync_reg_1_.tag));
350 EXPECT_FALSE(GetRegistration(sync_reg_2_.name)); 350 EXPECT_FALSE(GetRegistration(sync_reg_2_.tag));
351 } 351 }
352 352
353 TEST_F(BackgroundSyncManagerTest, GetRegistrationBadBackend) { 353 TEST_F(BackgroundSyncManagerTest, GetRegistrationBadBackend) {
354 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager(); 354 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager();
355 EXPECT_TRUE(Register(sync_reg_1_)); 355 EXPECT_TRUE(Register(sync_reg_1_));
356 manager->set_corrupt_backend(true); 356 manager->set_corrupt_backend(true);
357 EXPECT_TRUE(GetRegistration(sync_reg_1_.name)); 357 EXPECT_TRUE(GetRegistration(sync_reg_1_.tag));
358 EXPECT_FALSE(Register(sync_reg_2_)); 358 EXPECT_FALSE(Register(sync_reg_2_));
359 // Registration should have discovered the bad backend and disabled the 359 // Registration should have discovered the bad backend and disabled the
360 // BackgroundSyncManager. 360 // BackgroundSyncManager.
361 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 361 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
362 manager->set_corrupt_backend(false); 362 manager->set_corrupt_backend(false);
363 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 363 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
364 } 364 }
365 365
366 TEST_F(BackgroundSyncManagerTest, Unregister) { 366 TEST_F(BackgroundSyncManagerTest, Unregister) {
367 EXPECT_TRUE(Register(sync_reg_1_)); 367 EXPECT_TRUE(Register(sync_reg_1_));
368 EXPECT_TRUE(Unregister(callback_registration_)); 368 EXPECT_TRUE(Unregister(callback_registration_));
369 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 369 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
370 } 370 }
371 371
372 TEST_F(BackgroundSyncManagerTest, UnregisterWrongId) { 372 TEST_F(BackgroundSyncManagerTest, UnregisterWrongId) {
373 EXPECT_TRUE(Register(sync_reg_1_)); 373 EXPECT_TRUE(Register(sync_reg_1_));
374 callback_registration_.id += 1; 374 callback_registration_.id += 1;
375 EXPECT_FALSE(Unregister(callback_registration_)); 375 EXPECT_FALSE(Unregister(callback_registration_));
376 } 376 }
377 377
378 TEST_F(BackgroundSyncManagerTest, Reregister) { 378 TEST_F(BackgroundSyncManagerTest, Reregister) {
379 EXPECT_TRUE(Register(sync_reg_1_)); 379 EXPECT_TRUE(Register(sync_reg_1_));
380 EXPECT_TRUE(Unregister(callback_registration_)); 380 EXPECT_TRUE(Unregister(callback_registration_));
381 EXPECT_TRUE(Register(sync_reg_1_)); 381 EXPECT_TRUE(Register(sync_reg_1_));
382 } 382 }
383 383
384 TEST_F(BackgroundSyncManagerTest, UnregisterNonExisting) { 384 TEST_F(BackgroundSyncManagerTest, UnregisterNonExisting) {
385 EXPECT_FALSE(Unregister(sync_reg_1_)); 385 EXPECT_FALSE(Unregister(sync_reg_1_));
386 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_NOT_FOUND, callback_error_); 386 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_NOT_FOUND, callback_error_);
387 } 387 }
388 388
389 TEST_F(BackgroundSyncManagerTest, UnregisterSecond) { 389 TEST_F(BackgroundSyncManagerTest, UnregisterSecond) {
390 EXPECT_TRUE(Register(sync_reg_1_)); 390 EXPECT_TRUE(Register(sync_reg_1_));
391 EXPECT_TRUE(Register(sync_reg_2_)); 391 EXPECT_TRUE(Register(sync_reg_2_));
392 EXPECT_TRUE(Unregister(callback_registration_)); 392 EXPECT_TRUE(Unregister(callback_registration_));
393 EXPECT_TRUE(GetRegistration(sync_reg_1_.name)); 393 EXPECT_TRUE(GetRegistration(sync_reg_1_.tag));
394 EXPECT_TRUE(Register(sync_reg_2_)); 394 EXPECT_TRUE(Register(sync_reg_2_));
395 } 395 }
396 396
397 TEST_F(BackgroundSyncManagerTest, UnregisterBadBackend) { 397 TEST_F(BackgroundSyncManagerTest, UnregisterBadBackend) {
398 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager(); 398 TestBackgroundSyncManager* manager = UseTestBackgroundSyncManager();
399 sync_reg_1_.min_period += 1; 399 sync_reg_1_.min_period += 1;
400 EXPECT_TRUE(Register(sync_reg_1_)); 400 EXPECT_TRUE(Register(sync_reg_1_));
401 EXPECT_TRUE(Register(sync_reg_2_)); 401 EXPECT_TRUE(Register(sync_reg_2_));
402 manager->set_corrupt_backend(true); 402 manager->set_corrupt_backend(true);
403 EXPECT_FALSE(Unregister(callback_registration_)); 403 EXPECT_FALSE(Unregister(callback_registration_));
404 // Unregister should have discovered the bad backend and disabled the 404 // Unregister should have discovered the bad backend and disabled the
405 // BackgroundSyncManager. 405 // BackgroundSyncManager.
406 manager->set_corrupt_backend(false); 406 manager->set_corrupt_backend(false);
407 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 407 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
408 EXPECT_FALSE(GetRegistration(sync_reg_2_.name)); 408 EXPECT_FALSE(GetRegistration(sync_reg_2_.tag));
409 } 409 }
410 410
411 TEST_F(BackgroundSyncManagerTest, RegistrationIncreasesId) { 411 TEST_F(BackgroundSyncManagerTest, RegistrationIncreasesId) {
412 EXPECT_TRUE(Register(sync_reg_1_)); 412 EXPECT_TRUE(Register(sync_reg_1_));
413 BackgroundSyncManager::BackgroundSyncRegistration registered_sync = 413 BackgroundSyncManager::BackgroundSyncRegistration registered_sync =
414 callback_registration_; 414 callback_registration_;
415 BackgroundSyncManager::BackgroundSyncRegistration::RegistrationId cur_id = 415 BackgroundSyncManager::BackgroundSyncRegistration::RegistrationId cur_id =
416 callback_registration_.id; 416 callback_registration_.id;
417 417
418 EXPECT_TRUE(GetRegistration(sync_reg_1_.name)); 418 EXPECT_TRUE(GetRegistration(sync_reg_1_.tag));
419 EXPECT_TRUE(Register(sync_reg_2_)); 419 EXPECT_TRUE(Register(sync_reg_2_));
420 EXPECT_LT(cur_id, callback_registration_.id); 420 EXPECT_LT(cur_id, callback_registration_.id);
421 cur_id = callback_registration_.id; 421 cur_id = callback_registration_.id;
422 422
423 EXPECT_TRUE(Unregister(registered_sync)); 423 EXPECT_TRUE(Unregister(registered_sync));
424 EXPECT_TRUE(Register(sync_reg_1_)); 424 EXPECT_TRUE(Register(sync_reg_1_));
425 EXPECT_LT(cur_id, callback_registration_.id); 425 EXPECT_LT(cur_id, callback_registration_.id);
426 } 426 }
427 427
428 TEST_F(BackgroundSyncManagerTest, RebootRecovery) { 428 TEST_F(BackgroundSyncManagerTest, RebootRecovery) {
429 EXPECT_TRUE(Register(sync_reg_1_)); 429 EXPECT_TRUE(Register(sync_reg_1_));
430 430
431 background_sync_manager_ = 431 background_sync_manager_ =
432 BackgroundSyncManager::Create(helper_->context_wrapper()); 432 BackgroundSyncManager::Create(helper_->context_wrapper());
433 433
434 EXPECT_TRUE(GetRegistration(sync_reg_1_.name)); 434 EXPECT_TRUE(GetRegistration(sync_reg_1_.tag));
435 EXPECT_FALSE(GetRegistration(sync_reg_2_.name)); 435 EXPECT_FALSE(GetRegistration(sync_reg_2_.tag));
436 } 436 }
437 437
438 TEST_F(BackgroundSyncManagerTest, RebootRecoveryTwoServiceWorkers) { 438 TEST_F(BackgroundSyncManagerTest, RebootRecoveryTwoServiceWorkers) {
439 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_1_, sync_reg_1_)); 439 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_1_, sync_reg_1_));
440 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_2_, sync_reg_2_)); 440 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_2_, sync_reg_2_));
441 441
442 background_sync_manager_ = 442 background_sync_manager_ =
443 BackgroundSyncManager::Create(helper_->context_wrapper()); 443 BackgroundSyncManager::Create(helper_->context_wrapper());
444 444
445 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_, 445 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_,
446 sync_reg_1_.name)); 446 sync_reg_1_.tag));
447 EXPECT_FALSE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_, 447 EXPECT_FALSE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_,
448 sync_reg_2_.name)); 448 sync_reg_2_.tag));
449 EXPECT_FALSE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_, 449 EXPECT_FALSE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_,
450 sync_reg_1_.name)); 450 sync_reg_1_.tag));
451 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_, 451 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_,
452 sync_reg_2_.name)); 452 sync_reg_2_.tag));
453 453
454 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_, 454 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_1_,
455 sync_reg_1_.name)); 455 sync_reg_1_.tag));
456 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_, 456 EXPECT_TRUE(GetRegistrationWithServiceWorkerId(sw_registration_id_2_,
457 sync_reg_2_.name)); 457 sync_reg_2_.tag));
458 458
459 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_1_, sync_reg_2_)); 459 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_1_, sync_reg_2_));
460 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_2_, sync_reg_1_)); 460 EXPECT_TRUE(RegisterWithServiceWorkerId(sw_registration_id_2_, sync_reg_1_));
461 } 461 }
462 462
463 TEST_F(BackgroundSyncManagerTest, InitWithBadBackend) { 463 TEST_F(BackgroundSyncManagerTest, InitWithBadBackend) {
464 TestBackgroundSyncManager* manager = 464 TestBackgroundSyncManager* manager =
465 new TestBackgroundSyncManager(helper_->context_wrapper()); 465 new TestBackgroundSyncManager(helper_->context_wrapper());
466 background_sync_manager_.reset(manager); 466 background_sync_manager_.reset(manager);
467 manager->set_corrupt_backend(true); 467 manager->set_corrupt_backend(true);
468 manager->DoInit(); 468 manager->DoInit();
469 469
470 EXPECT_FALSE(Register(sync_reg_1_)); 470 EXPECT_FALSE(Register(sync_reg_1_));
471 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 471 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
472 } 472 }
473 473
474 TEST_F(BackgroundSyncManagerTest, SequentialOperations) { 474 TEST_F(BackgroundSyncManagerTest, SequentialOperations) {
475 // Schedule Init and all of the operations on a delayed backend. Verify that 475 // Schedule Init and all of the operations on a delayed backend. Verify that
476 // the operations complete sequentially. 476 // the operations complete sequentially.
477 TestBackgroundSyncManager* manager = 477 TestBackgroundSyncManager* manager =
478 new TestBackgroundSyncManager(helper_->context_wrapper()); 478 new TestBackgroundSyncManager(helper_->context_wrapper());
479 background_sync_manager_.reset(manager); 479 background_sync_manager_.reset(manager);
480 manager->set_delay_backend(true); 480 manager->set_delay_backend(true);
481 manager->DoInit(); 481 manager->DoInit();
482 482
483 const int64 kExpectedInitialId = 483 const int64 kExpectedInitialId =
484 BackgroundSyncManager::BackgroundSyncRegistrations::kInitialId; 484 BackgroundSyncManager::BackgroundSyncRegistrations::kInitialId;
485 485
486 bool register_called = false; 486 bool register_called = false;
487 bool unregister_called = false; 487 bool unregister_called = false;
488 bool get_registration_called = false; 488 bool get_registration_called = false;
489 manager->Register( 489 manager->Register(
490 GURL(kOrigin), sw_registration_id_1_, sync_reg_1_, 490 GURL(kOrigin), sw_registration_id_1_, sync_reg_1_,
491 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback, 491 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback,
492 base::Unretained(this), &register_called)); 492 base::Unretained(this), &register_called));
493 manager->Unregister(GURL(kOrigin), sw_registration_id_1_, sync_reg_1_.name, 493 manager->Unregister(GURL(kOrigin), sw_registration_id_1_, sync_reg_1_.tag,
494 kExpectedInitialId, 494 kExpectedInitialId,
495 base::Bind(&BackgroundSyncManagerTest::StatusCallback, 495 base::Bind(&BackgroundSyncManagerTest::StatusCallback,
496 base::Unretained(this), &unregister_called)); 496 base::Unretained(this), &unregister_called));
497 manager->GetRegistration( 497 manager->GetRegistration(
498 GURL(kOrigin), sw_registration_id_1_, sync_reg_1_.name, 498 GURL(kOrigin), sw_registration_id_1_, sync_reg_1_.tag,
499 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback, 499 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback,
500 base::Unretained(this), &get_registration_called)); 500 base::Unretained(this), &get_registration_called));
501 501
502 base::RunLoop().RunUntilIdle(); 502 base::RunLoop().RunUntilIdle();
503 // Init should be blocked while loading from the backend. 503 // Init should be blocked while loading from the backend.
504 EXPECT_FALSE(register_called); 504 EXPECT_FALSE(register_called);
505 EXPECT_FALSE(unregister_called); 505 EXPECT_FALSE(unregister_called);
506 EXPECT_FALSE(get_registration_called); 506 EXPECT_FALSE(get_registration_called);
507 507
508 manager->Continue(); 508 manager->Continue();
(...skipping 17 matching lines...) Expand all
526 // Unregister should be done and since GetRegistration doesn't require the 526 // Unregister should be done and since GetRegistration doesn't require the
527 // backend it should be done too. 527 // backend it should be done too.
528 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_NOT_FOUND, callback_error_); 528 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_NOT_FOUND, callback_error_);
529 EXPECT_TRUE(unregister_called); 529 EXPECT_TRUE(unregister_called);
530 EXPECT_TRUE(get_registration_called); 530 EXPECT_TRUE(get_registration_called);
531 } 531 }
532 532
533 TEST_F(BackgroundSyncManagerTest, UnregisterServiceWorker) { 533 TEST_F(BackgroundSyncManagerTest, UnregisterServiceWorker) {
534 EXPECT_TRUE(Register(sync_reg_1_)); 534 EXPECT_TRUE(Register(sync_reg_1_));
535 UnregisterServiceWorker(sw_registration_id_1_); 535 UnregisterServiceWorker(sw_registration_id_1_);
536 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 536 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
537 } 537 }
538 538
539 TEST_F(BackgroundSyncManagerTest, 539 TEST_F(BackgroundSyncManagerTest,
540 UnregisterServiceWorkerDuringSyncRegistration) { 540 UnregisterServiceWorkerDuringSyncRegistration) {
541 TestBackgroundSyncManager* manager = 541 TestBackgroundSyncManager* manager =
542 new TestBackgroundSyncManager(helper_->context_wrapper()); 542 new TestBackgroundSyncManager(helper_->context_wrapper());
543 background_sync_manager_.reset(manager); 543 background_sync_manager_.reset(manager);
544 manager->DoInit(); 544 manager->DoInit();
545 545
546 EXPECT_TRUE(Register(sync_reg_1_)); 546 EXPECT_TRUE(Register(sync_reg_1_));
547 547
548 manager->set_delay_backend(true); 548 manager->set_delay_backend(true);
549 bool callback_called = false; 549 bool callback_called = false;
550 manager->Register( 550 manager->Register(
551 GURL(kOrigin), sw_registration_id_1_, sync_reg_2_, 551 GURL(kOrigin), sw_registration_id_1_, sync_reg_2_,
552 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback, 552 base::Bind(&BackgroundSyncManagerTest::StatusAndRegistrationCallback,
553 base::Unretained(this), &callback_called)); 553 base::Unretained(this), &callback_called));
554 554
555 base::RunLoop().RunUntilIdle(); 555 base::RunLoop().RunUntilIdle();
556 EXPECT_FALSE(callback_called); 556 EXPECT_FALSE(callback_called);
557 UnregisterServiceWorker(sw_registration_id_1_); 557 UnregisterServiceWorker(sw_registration_id_1_);
558 558
559 manager->Continue(); 559 manager->Continue();
560 base::RunLoop().RunUntilIdle(); 560 base::RunLoop().RunUntilIdle();
561 EXPECT_TRUE(callback_called); 561 EXPECT_TRUE(callback_called);
562 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_STORAGE, callback_error_); 562 EXPECT_EQ(BackgroundSyncManager::ERROR_TYPE_STORAGE, callback_error_);
563 563
564 manager->set_delay_backend(false); 564 manager->set_delay_backend(false);
565 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 565 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
566 } 566 }
567 567
568 TEST_F(BackgroundSyncManagerTest, DeleteAndStartOverServiceWorkerContext) { 568 TEST_F(BackgroundSyncManagerTest, DeleteAndStartOverServiceWorkerContext) {
569 EXPECT_TRUE(Register(sync_reg_1_)); 569 EXPECT_TRUE(Register(sync_reg_1_));
570 helper_->context()->ScheduleDeleteAndStartOver(); 570 helper_->context()->ScheduleDeleteAndStartOver();
571 base::RunLoop().RunUntilIdle(); 571 base::RunLoop().RunUntilIdle();
572 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 572 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
573 } 573 }
574 574
575 TEST_F(BackgroundSyncManagerTest, DisabledManagerWorksAfterBrowserRestart) { 575 TEST_F(BackgroundSyncManagerTest, DisabledManagerWorksAfterBrowserRestart) {
576 TestBackgroundSyncManager* manager = 576 TestBackgroundSyncManager* manager =
577 new TestBackgroundSyncManager(helper_->context_wrapper()); 577 new TestBackgroundSyncManager(helper_->context_wrapper());
578 background_sync_manager_.reset(manager); 578 background_sync_manager_.reset(manager);
579 manager->DoInit(); 579 manager->DoInit();
580 EXPECT_TRUE(Register(sync_reg_1_)); 580 EXPECT_TRUE(Register(sync_reg_1_));
581 manager->set_corrupt_backend(true); 581 manager->set_corrupt_backend(true);
582 EXPECT_FALSE(Register(sync_reg_2_)); 582 EXPECT_FALSE(Register(sync_reg_2_));
583 583
584 // The manager is now disabled and not accepting new requests until browser 584 // The manager is now disabled and not accepting new requests until browser
585 // restart or notification that the storage has been wiped. 585 // restart or notification that the storage has been wiped.
586 manager->set_corrupt_backend(false); 586 manager->set_corrupt_backend(false);
587 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 587 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
588 EXPECT_FALSE(Register(sync_reg_2_)); 588 EXPECT_FALSE(Register(sync_reg_2_));
589 589
590 // Simulate restarting the browser by creating a new BackgroundSyncManager. 590 // Simulate restarting the browser by creating a new BackgroundSyncManager.
591 background_sync_manager_.reset( 591 background_sync_manager_.reset(
592 new TestBackgroundSyncManager(helper_->context_wrapper())); 592 new TestBackgroundSyncManager(helper_->context_wrapper()));
593 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 593 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
594 EXPECT_TRUE(Register(sync_reg_1_)); 594 EXPECT_TRUE(Register(sync_reg_1_));
595 } 595 }
596 596
597 TEST_F(BackgroundSyncManagerTest, DisabledManagerWorksAfterDeleteAndStartOver) { 597 TEST_F(BackgroundSyncManagerTest, DisabledManagerWorksAfterDeleteAndStartOver) {
598 TestBackgroundSyncManager* manager = 598 TestBackgroundSyncManager* manager =
599 new TestBackgroundSyncManager(helper_->context_wrapper()); 599 new TestBackgroundSyncManager(helper_->context_wrapper());
600 background_sync_manager_.reset(manager); 600 background_sync_manager_.reset(manager);
601 manager->DoInit(); 601 manager->DoInit();
602 EXPECT_TRUE(Register(sync_reg_1_)); 602 EXPECT_TRUE(Register(sync_reg_1_));
603 manager->set_corrupt_backend(true); 603 manager->set_corrupt_backend(true);
604 EXPECT_FALSE(Register(sync_reg_2_)); 604 EXPECT_FALSE(Register(sync_reg_2_));
605 605
606 // The manager is now disabled and not accepting new requests until browser 606 // The manager is now disabled and not accepting new requests until browser
607 // restart or notification that the storage has been wiped. 607 // restart or notification that the storage has been wiped.
608 manager->set_corrupt_backend(false); 608 manager->set_corrupt_backend(false);
609 helper_->context()->ScheduleDeleteAndStartOver(); 609 helper_->context()->ScheduleDeleteAndStartOver();
610 base::RunLoop().RunUntilIdle(); 610 base::RunLoop().RunUntilIdle();
611 611
612 bool called = false; 612 bool called = false;
613 helper_->context()->RegisterServiceWorker( 613 helper_->context()->RegisterServiceWorker(
614 GURL(kPattern1), GURL(kScript1), NULL, 614 GURL(kPattern1), GURL(kScript1), NULL,
615 base::Bind(&RegisterServiceWorkerCallback, &called, 615 base::Bind(&RegisterServiceWorkerCallback, &called,
616 &sw_registration_id_1_)); 616 &sw_registration_id_1_));
617 base::RunLoop().RunUntilIdle(); 617 base::RunLoop().RunUntilIdle();
618 EXPECT_TRUE(called); 618 EXPECT_TRUE(called);
619 619
620 EXPECT_TRUE(Register(sync_reg_2_)); 620 EXPECT_TRUE(Register(sync_reg_2_));
621 EXPECT_FALSE(GetRegistration(sync_reg_1_.name)); 621 EXPECT_FALSE(GetRegistration(sync_reg_1_.tag));
622 EXPECT_TRUE(GetRegistration(sync_reg_2_.name)); 622 EXPECT_TRUE(GetRegistration(sync_reg_2_.tag));
623 } 623 }
624 624
625 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsId) { 625 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsId) {
626 BackgroundSyncManager::BackgroundSyncRegistration reg_1; 626 BackgroundSyncManager::BackgroundSyncRegistration reg_1;
627 BackgroundSyncManager::BackgroundSyncRegistration reg_2; 627 BackgroundSyncManager::BackgroundSyncRegistration reg_2;
628 628
629 EXPECT_TRUE(reg_1.Equals(reg_2)); 629 EXPECT_TRUE(reg_1.Equals(reg_2));
630 reg_2.id = reg_1.id + 1; 630 reg_2.id = reg_1.id + 1;
631 EXPECT_TRUE(reg_1.Equals(reg_2)); 631 EXPECT_TRUE(reg_1.Equals(reg_2));
632 } 632 }
633 633
634 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsName) { 634 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsTag) {
635 BackgroundSyncManager::BackgroundSyncRegistration reg_1; 635 BackgroundSyncManager::BackgroundSyncRegistration reg_1;
636 BackgroundSyncManager::BackgroundSyncRegistration reg_2; 636 BackgroundSyncManager::BackgroundSyncRegistration reg_2;
637 EXPECT_TRUE(reg_1.Equals(reg_2)); 637 EXPECT_TRUE(reg_1.Equals(reg_2));
638 reg_2.name = "bar"; 638 reg_2.tag = "bar";
639 EXPECT_FALSE(reg_1.Equals(reg_2)); 639 EXPECT_FALSE(reg_1.Equals(reg_2));
640 } 640 }
641 641
642 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsFireOnce) { 642 TEST_F(BackgroundSyncManagerTest, RegistrationEqualsFireOnce) {
643 BackgroundSyncManager::BackgroundSyncRegistration reg_1; 643 BackgroundSyncManager::BackgroundSyncRegistration reg_1;
644 BackgroundSyncManager::BackgroundSyncRegistration reg_2; 644 BackgroundSyncManager::BackgroundSyncRegistration reg_2;
645 EXPECT_TRUE(reg_1.Equals(reg_2)); 645 EXPECT_TRUE(reg_1.Equals(reg_2));
646 reg_2.fire_once = !reg_1.fire_once; 646 reg_2.fire_once = !reg_1.fire_once;
647 EXPECT_FALSE(reg_1.Equals(reg_2)); 647 EXPECT_FALSE(reg_1.Equals(reg_2));
648 } 648 }
(...skipping 20 matching lines...) Expand all
669 BackgroundSyncManager::BackgroundSyncRegistration reg_2; 669 BackgroundSyncManager::BackgroundSyncRegistration reg_2;
670 EXPECT_TRUE(reg_1.Equals(reg_2)); 670 EXPECT_TRUE(reg_1.Equals(reg_2));
671 reg_1.power_state = POWER_STATE_AUTO; 671 reg_1.power_state = POWER_STATE_AUTO;
672 reg_2.power_state = POWER_STATE_AVOID_DRAINING; 672 reg_2.power_state = POWER_STATE_AVOID_DRAINING;
673 EXPECT_FALSE(reg_1.Equals(reg_2)); 673 EXPECT_FALSE(reg_1.Equals(reg_2));
674 } 674 }
675 675
676 TEST_F(BackgroundSyncManagerTest, StoreAndRetrievePreservesValues) { 676 TEST_F(BackgroundSyncManagerTest, StoreAndRetrievePreservesValues) {
677 BackgroundSyncManager::BackgroundSyncRegistration reg_1; 677 BackgroundSyncManager::BackgroundSyncRegistration reg_1;
678 // Set non-default values for each field. 678 // Set non-default values for each field.
679 reg_1.name = "foo"; 679 reg_1.tag = "foo";
680 reg_1.fire_once = !reg_1.fire_once; 680 reg_1.fire_once = !reg_1.fire_once;
681 reg_1.min_period += 1; 681 reg_1.min_period += 1;
682 EXPECT_NE(NETWORK_STATE_ANY, reg_1.network_state); 682 EXPECT_NE(NETWORK_STATE_ANY, reg_1.network_state);
683 reg_1.network_state = NETWORK_STATE_ANY; 683 reg_1.network_state = NETWORK_STATE_ANY;
684 EXPECT_NE(POWER_STATE_AUTO, reg_1.power_state); 684 EXPECT_NE(POWER_STATE_AUTO, reg_1.power_state);
685 reg_1.power_state = POWER_STATE_AUTO; 685 reg_1.power_state = POWER_STATE_AUTO;
686 686
687 // Store the registration. 687 // Store the registration.
688 EXPECT_TRUE(Register(reg_1)); 688 EXPECT_TRUE(Register(reg_1));
689 689
690 // Simulate restarting the sync manager, forcing the next read to come from 690 // Simulate restarting the sync manager, forcing the next read to come from
691 // disk. 691 // disk.
692 UseTestBackgroundSyncManager(); 692 UseTestBackgroundSyncManager();
693 693
694 EXPECT_TRUE(GetRegistration(reg_1.name)); 694 EXPECT_TRUE(GetRegistration(reg_1.tag));
695 EXPECT_TRUE(reg_1.Equals(callback_registration_)); 695 EXPECT_TRUE(reg_1.Equals(callback_registration_));
696 } 696 }
697 697
698 } // namespace content 698 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/background_sync/background_sync_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698