OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "base/test/histogram_tester.h" | 9 #include "base/test/histogram_tester.h" |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 AccountReconcilor* reconcilor = | 309 AccountReconcilor* reconcilor = |
310 AccountReconcilorFactory::GetForProfile(profile()); | 310 AccountReconcilorFactory::GetForProfile(profile()); |
311 ASSERT_TRUE(reconcilor); | 311 ASSERT_TRUE(reconcilor); |
312 ASSERT_TRUE(reconcilor->IsRegisteredWithTokenService()); | 312 ASSERT_TRUE(reconcilor->IsRegisteredWithTokenService()); |
313 } | 313 } |
314 | 314 |
315 TEST_F(AccountReconcilorTest, GetAccountsFromCookieSuccess) { | 315 TEST_F(AccountReconcilorTest, GetAccountsFromCookieSuccess) { |
316 const std::string account_id = | 316 const std::string account_id = |
317 ConnectProfileToAccount("12345", "user@gmail.com"); | 317 ConnectProfileToAccount("12345", "user@gmail.com"); |
318 cookie_manager_service()->SetListAccountsResponseOneAccountWithExpiry( | 318 cookie_manager_service()->SetListAccountsResponseOneAccountWithExpiry( |
319 "user@gmail.com", true); | 319 "user@gmail.com", "12345", true); |
320 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); | 320 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); |
321 | 321 |
322 AccountReconcilor* reconcilor = | 322 AccountReconcilor* reconcilor = |
323 AccountReconcilorFactory::GetForProfile(profile()); | 323 AccountReconcilorFactory::GetForProfile(profile()); |
324 ASSERT_TRUE(reconcilor); | 324 ASSERT_TRUE(reconcilor); |
325 | 325 |
326 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_OK, reconcilor->GetState()); | 326 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_OK, reconcilor->GetState()); |
327 reconcilor->StartReconcile(); | 327 reconcilor->StartReconcile(); |
328 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_RUNNING, | 328 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_RUNNING, |
329 reconcilor->GetState()); | 329 reconcilor->GetState()); |
330 base::RunLoop().RunUntilIdle(); | 330 base::RunLoop().RunUntilIdle(); |
331 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_RUNNING, reconcilor->GetState()); | 331 ASSERT_EQ(signin_metrics::ACCOUNT_RECONCILOR_RUNNING, reconcilor->GetState()); |
332 | 332 |
333 std::vector<gaia::ListedAccount> accounts; | 333 std::vector<gaia::ListedAccount> accounts; |
334 ASSERT_TRUE(cookie_manager_service()->ListAccounts(&accounts)); | 334 ASSERT_TRUE(cookie_manager_service()->ListAccounts(&accounts)); |
335 ASSERT_EQ(1u, accounts.size()); | 335 ASSERT_EQ(1u, accounts.size()); |
336 ASSERT_EQ(account_id, accounts[0].email); | 336 ASSERT_EQ(account_id, accounts[0].id); |
337 } | 337 } |
338 | 338 |
339 TEST_F(AccountReconcilorTest, GetAccountsFromCookieFailure) { | 339 TEST_F(AccountReconcilorTest, GetAccountsFromCookieFailure) { |
340 ConnectProfileToAccount("12345", "user@gmail.com"); | 340 ConnectProfileToAccount("12345", "user@gmail.com"); |
341 cookie_manager_service()->SetListAccountsResponseWebLoginRequired(); | 341 cookie_manager_service()->SetListAccountsResponseWebLoginRequired(); |
342 | 342 |
343 AccountReconcilor* reconcilor = | 343 AccountReconcilor* reconcilor = |
344 AccountReconcilorFactory::GetForProfile(profile()); | 344 AccountReconcilorFactory::GetForProfile(profile()); |
345 ASSERT_TRUE(reconcilor); | 345 ASSERT_TRUE(reconcilor); |
346 | 346 |
(...skipping 13 matching lines...) Expand all Loading... |
360 } | 360 } |
361 | 361 |
362 TEST_P(AccountReconcilorTest, StartReconcileNoop) { | 362 TEST_P(AccountReconcilorTest, StartReconcileNoop) { |
363 const std::string account_id = | 363 const std::string account_id = |
364 ConnectProfileToAccount("12345", "user@gmail.com"); | 364 ConnectProfileToAccount("12345", "user@gmail.com"); |
365 | 365 |
366 AccountReconcilor* reconcilor = | 366 AccountReconcilor* reconcilor = |
367 AccountReconcilorFactory::GetForProfile(profile()); | 367 AccountReconcilorFactory::GetForProfile(profile()); |
368 ASSERT_TRUE(reconcilor); | 368 ASSERT_TRUE(reconcilor); |
369 | 369 |
370 cookie_manager_service()->SetListAccountsResponseOneAccount("user@gmail.com"); | 370 cookie_manager_service()->SetListAccountsResponseOneAccount( |
| 371 "user@gmail.com", "12345"); |
371 | 372 |
372 reconcilor->StartReconcile(); | 373 reconcilor->StartReconcile(); |
373 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 374 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
374 | 375 |
375 base::RunLoop().RunUntilIdle(); | 376 base::RunLoop().RunUntilIdle(); |
376 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 377 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
377 | 378 |
378 histogram_tester()->ExpectTotalCount( | 379 histogram_tester()->ExpectTotalCount( |
379 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", 1); | 380 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", 1); |
380 histogram_tester()->ExpectUniqueSample( | 381 histogram_tester()->ExpectUniqueSample( |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 // by gaia::ParseListAccountsData(). | 481 // by gaia::ParseListAccountsData(). |
481 TEST_P(AccountReconcilorTest, StartReconcileNoopWithDots) { | 482 TEST_P(AccountReconcilorTest, StartReconcileNoopWithDots) { |
482 if (account_tracker()->GetMigrationState() != | 483 if (account_tracker()->GetMigrationState() != |
483 AccountTrackerService::MIGRATION_NOT_STARTED) { | 484 AccountTrackerService::MIGRATION_NOT_STARTED) { |
484 return; | 485 return; |
485 } | 486 } |
486 | 487 |
487 const std::string account_id = | 488 const std::string account_id = |
488 ConnectProfileToAccount("12345", "Dot.S@gmail.com"); | 489 ConnectProfileToAccount("12345", "Dot.S@gmail.com"); |
489 cookie_manager_service()->SetListAccountsResponseOneAccount( | 490 cookie_manager_service()->SetListAccountsResponseOneAccount( |
490 "dot.s@gmail.com"); | 491 "dot.s@gmail.com", "12345"); |
491 AccountReconcilor* reconcilor = | 492 AccountReconcilor* reconcilor = |
492 AccountReconcilorFactory::GetForProfile(profile()); | 493 AccountReconcilorFactory::GetForProfile(profile()); |
493 ASSERT_TRUE(reconcilor); | 494 ASSERT_TRUE(reconcilor); |
494 | 495 |
495 reconcilor->StartReconcile(); | 496 reconcilor->StartReconcile(); |
496 base::RunLoop().RunUntilIdle(); | 497 base::RunLoop().RunUntilIdle(); |
497 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 498 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
498 | 499 |
499 histogram_tester()->ExpectUniqueSample( | 500 histogram_tester()->ExpectUniqueSample( |
500 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", | 501 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", |
501 signin_metrics::ACCOUNTS_SAME, | 502 signin_metrics::ACCOUNTS_SAME, |
502 1); | 503 1); |
503 } | 504 } |
504 | 505 |
505 TEST_P(AccountReconcilorTest, StartReconcileNoopMultiple) { | 506 TEST_P(AccountReconcilorTest, StartReconcileNoopMultiple) { |
506 const std::string account_id = | 507 const std::string account_id = |
507 ConnectProfileToAccount("12345", "user@gmail.com"); | 508 ConnectProfileToAccount("12345", "user@gmail.com"); |
508 const std::string account_id2 = | 509 const std::string account_id2 = |
509 PickAccountIdForAccount("67890", "other@gmail.com"); | 510 PickAccountIdForAccount("67890", "other@gmail.com"); |
510 cookie_manager_service()->SetListAccountsResponseTwoAccounts( | 511 cookie_manager_service()->SetListAccountsResponseTwoAccounts( |
511 "user@gmail.com", "other@gmail.com"); | 512 "user@gmail.com", "12345", "other@gmail.com", "67890"); |
512 token_service()->UpdateCredentials(account_id2, "refresh_token"); | 513 token_service()->UpdateCredentials(account_id2, "refresh_token"); |
513 | 514 |
514 AccountReconcilor* reconcilor = | 515 AccountReconcilor* reconcilor = |
515 AccountReconcilorFactory::GetForProfile(profile()); | 516 AccountReconcilorFactory::GetForProfile(profile()); |
516 ASSERT_TRUE(reconcilor); | 517 ASSERT_TRUE(reconcilor); |
517 | 518 |
518 reconcilor->StartReconcile(); | 519 reconcilor->StartReconcile(); |
519 base::RunLoop().RunUntilIdle(); | 520 base::RunLoop().RunUntilIdle(); |
520 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 521 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
521 | 522 |
522 histogram_tester()->ExpectTotalCount( | 523 histogram_tester()->ExpectTotalCount( |
523 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", 1); | 524 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", 1); |
524 histogram_tester()->ExpectUniqueSample( | 525 histogram_tester()->ExpectUniqueSample( |
525 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", | 526 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", |
526 signin_metrics::ACCOUNTS_SAME, | 527 signin_metrics::ACCOUNTS_SAME, |
527 1); | 528 1); |
528 } | 529 } |
529 | 530 |
530 TEST_P(AccountReconcilorTest, StartReconcileAddToCookie) { | 531 TEST_P(AccountReconcilorTest, StartReconcileAddToCookie) { |
531 const std::string account_id = | 532 const std::string account_id = |
532 ConnectProfileToAccount("12345", "user@gmail.com"); | 533 ConnectProfileToAccount("12345", "user@gmail.com"); |
533 token_service()->UpdateCredentials(account_id, "refresh_token"); | 534 token_service()->UpdateCredentials(account_id, "refresh_token"); |
534 cookie_manager_service()->SetListAccountsResponseOneAccount( | 535 cookie_manager_service()->SetListAccountsResponseOneAccount( |
535 "user@gmail.com"); | 536 "user@gmail.com", "12345"); |
536 | 537 |
537 const std::string account_id2 = | 538 const std::string account_id2 = |
538 PickAccountIdForAccount("67890", "other@gmail.com"); | 539 PickAccountIdForAccount("67890", "other@gmail.com"); |
539 token_service()->UpdateCredentials(account_id2, "refresh_token"); | 540 token_service()->UpdateCredentials(account_id2, "refresh_token"); |
540 | 541 |
541 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); | 542 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); |
542 | 543 |
543 AccountReconcilor* reconcilor = GetMockReconcilor(); | 544 AccountReconcilor* reconcilor = GetMockReconcilor(); |
544 reconcilor->StartReconcile(); | 545 reconcilor->StartReconcile(); |
545 | 546 |
(...skipping 11 matching lines...) Expand all Loading... |
557 "Signin.Reconciler.AddedToCookieJar.FirstRun", 1, 1); | 558 "Signin.Reconciler.AddedToCookieJar.FirstRun", 1, 1); |
558 histogram_tester()->ExpectUniqueSample( | 559 histogram_tester()->ExpectUniqueSample( |
559 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); | 560 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); |
560 } | 561 } |
561 | 562 |
562 TEST_P(AccountReconcilorTest, StartReconcileRemoveFromCookie) { | 563 TEST_P(AccountReconcilorTest, StartReconcileRemoveFromCookie) { |
563 const std::string account_id = | 564 const std::string account_id = |
564 ConnectProfileToAccount("12345", "user@gmail.com"); | 565 ConnectProfileToAccount("12345", "user@gmail.com"); |
565 token_service()->UpdateCredentials(account_id, "refresh_token"); | 566 token_service()->UpdateCredentials(account_id, "refresh_token"); |
566 cookie_manager_service()->SetListAccountsResponseTwoAccounts( | 567 cookie_manager_service()->SetListAccountsResponseTwoAccounts( |
567 "user@gmail.com", "other@gmail.com"); | 568 "user@gmail.com", "12345", "other@gmail.com", "67890"); |
568 | 569 |
569 EXPECT_CALL(*GetMockReconcilor(), PerformLogoutAllAccountsAction()); | 570 EXPECT_CALL(*GetMockReconcilor(), PerformLogoutAllAccountsAction()); |
570 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); | 571 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); |
571 | 572 |
572 AccountReconcilor* reconcilor = GetMockReconcilor(); | 573 AccountReconcilor* reconcilor = GetMockReconcilor(); |
573 reconcilor->StartReconcile(); | 574 reconcilor->StartReconcile(); |
574 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 575 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
575 | 576 |
576 base::RunLoop().RunUntilIdle(); | 577 base::RunLoop().RunUntilIdle(); |
577 SimulateAddAccountToCookieCompleted(reconcilor, "user@gmail.com", | 578 SimulateAddAccountToCookieCompleted(reconcilor, "user@gmail.com", |
(...skipping 12 matching lines...) Expand all Loading... |
590 | 591 |
591 TEST_P(AccountReconcilorTest, StartReconcileAddToCookieTwice) { | 592 TEST_P(AccountReconcilorTest, StartReconcileAddToCookieTwice) { |
592 const std::string account_id = | 593 const std::string account_id = |
593 ConnectProfileToAccount("12345", "user@gmail.com"); | 594 ConnectProfileToAccount("12345", "user@gmail.com"); |
594 const std::string account_id2 = | 595 const std::string account_id2 = |
595 PickAccountIdForAccount("67890", "other@gmail.com"); | 596 PickAccountIdForAccount("67890", "other@gmail.com"); |
596 const std::string account_id3 = | 597 const std::string account_id3 = |
597 PickAccountIdForAccount("34567", "third@gmail.com"); | 598 PickAccountIdForAccount("34567", "third@gmail.com"); |
598 | 599 |
599 cookie_manager_service()->SetListAccountsResponseOneAccount( | 600 cookie_manager_service()->SetListAccountsResponseOneAccount( |
600 "user@gmail.com"); | 601 "user@gmail.com", "12345"); |
601 token_service()->UpdateCredentials(account_id2, "refresh_token"); | 602 token_service()->UpdateCredentials(account_id2, "refresh_token"); |
602 | 603 |
603 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); | 604 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); |
604 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id3)); | 605 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id3)); |
605 | 606 |
606 AccountReconcilor* reconcilor = GetMockReconcilor(); | 607 AccountReconcilor* reconcilor = GetMockReconcilor(); |
607 reconcilor->StartReconcile(); | 608 reconcilor->StartReconcile(); |
608 | 609 |
609 base::RunLoop().RunUntilIdle(); | 610 base::RunLoop().RunUntilIdle(); |
610 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 611 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
611 SimulateAddAccountToCookieCompleted( | 612 SimulateAddAccountToCookieCompleted( |
612 reconcilor, account_id2, GoogleServiceAuthError::AuthErrorNone()); | 613 reconcilor, account_id2, GoogleServiceAuthError::AuthErrorNone()); |
613 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 614 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
614 | 615 |
615 histogram_tester()->ExpectUniqueSample( | 616 histogram_tester()->ExpectUniqueSample( |
616 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", | 617 "Signin.Reconciler.DifferentPrimaryAccounts.FirstRun", |
617 signin_metrics::ACCOUNTS_SAME, | 618 signin_metrics::ACCOUNTS_SAME, |
618 1); | 619 1); |
619 histogram_tester()->ExpectUniqueSample( | 620 histogram_tester()->ExpectUniqueSample( |
620 "Signin.Reconciler.AddedToCookieJar.FirstRun", 1, 1); | 621 "Signin.Reconciler.AddedToCookieJar.FirstRun", 1, 1); |
621 histogram_tester()->ExpectUniqueSample( | 622 histogram_tester()->ExpectUniqueSample( |
622 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); | 623 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); |
623 | 624 |
624 // Do another pass after I've added a third account to the token service | 625 // Do another pass after I've added a third account to the token service |
625 cookie_manager_service()->SetListAccountsResponseTwoAccounts( | 626 cookie_manager_service()->SetListAccountsResponseTwoAccounts( |
626 "user@gmail.com", "other@gmail.com"); | 627 "user@gmail.com", "12345", "other@gmail.com", "67890"); |
627 cookie_manager_service()->set_list_accounts_fetched_once_for_testing(false); | 628 cookie_manager_service()->set_list_accounts_fetched_once_for_testing(false); |
628 | 629 |
629 // This will cause the reconcilor to fire. | 630 // This will cause the reconcilor to fire. |
630 token_service()->UpdateCredentials(account_id3, "refresh_token"); | 631 token_service()->UpdateCredentials(account_id3, "refresh_token"); |
631 base::RunLoop().RunUntilIdle(); | 632 base::RunLoop().RunUntilIdle(); |
632 | 633 |
633 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 634 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
634 SimulateAddAccountToCookieCompleted( | 635 SimulateAddAccountToCookieCompleted( |
635 reconcilor, account_id3, GoogleServiceAuthError::AuthErrorNone()); | 636 reconcilor, account_id3, GoogleServiceAuthError::AuthErrorNone()); |
636 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 637 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
(...skipping 17 matching lines...) Expand all Loading... |
654 } | 655 } |
655 | 656 |
656 TEST_P(AccountReconcilorTest, StartReconcileBadPrimary) { | 657 TEST_P(AccountReconcilorTest, StartReconcileBadPrimary) { |
657 const std::string account_id = | 658 const std::string account_id = |
658 ConnectProfileToAccount("12345", "user@gmail.com"); | 659 ConnectProfileToAccount("12345", "user@gmail.com"); |
659 const std::string account_id2 = | 660 const std::string account_id2 = |
660 PickAccountIdForAccount("67890", "other@gmail.com"); | 661 PickAccountIdForAccount("67890", "other@gmail.com"); |
661 | 662 |
662 token_service()->UpdateCredentials(account_id2, "refresh_token"); | 663 token_service()->UpdateCredentials(account_id2, "refresh_token"); |
663 cookie_manager_service()->SetListAccountsResponseTwoAccounts( | 664 cookie_manager_service()->SetListAccountsResponseTwoAccounts( |
664 "other@gmail.com", "user@gmail.com"); | 665 "other@gmail.com", "12345", "user@gmail.com", "67890"); |
665 | 666 |
666 EXPECT_CALL(*GetMockReconcilor(), PerformLogoutAllAccountsAction()); | 667 EXPECT_CALL(*GetMockReconcilor(), PerformLogoutAllAccountsAction()); |
667 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); | 668 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); |
668 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); | 669 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id2)); |
669 | 670 |
670 AccountReconcilor* reconcilor = GetMockReconcilor(); | 671 AccountReconcilor* reconcilor = GetMockReconcilor(); |
671 reconcilor->StartReconcile(); | 672 reconcilor->StartReconcile(); |
672 | 673 |
673 base::RunLoop().RunUntilIdle(); | 674 base::RunLoop().RunUntilIdle(); |
674 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 675 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
(...skipping 11 matching lines...) Expand all Loading... |
686 histogram_tester()->ExpectUniqueSample( | 687 histogram_tester()->ExpectUniqueSample( |
687 "Signin.Reconciler.AddedToCookieJar.FirstRun", 0, 1); | 688 "Signin.Reconciler.AddedToCookieJar.FirstRun", 0, 1); |
688 histogram_tester()->ExpectUniqueSample( | 689 histogram_tester()->ExpectUniqueSample( |
689 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); | 690 "Signin.Reconciler.RemovedFromCookieJar.FirstRun", 0, 1); |
690 } | 691 } |
691 | 692 |
692 TEST_P(AccountReconcilorTest, StartReconcileOnlyOnce) { | 693 TEST_P(AccountReconcilorTest, StartReconcileOnlyOnce) { |
693 const std::string account_id = | 694 const std::string account_id = |
694 ConnectProfileToAccount("12345", "user@gmail.com"); | 695 ConnectProfileToAccount("12345", "user@gmail.com"); |
695 cookie_manager_service()->SetListAccountsResponseOneAccount( | 696 cookie_manager_service()->SetListAccountsResponseOneAccount( |
696 "user@gmail.com"); | 697 "user@gmail.com", "12345"); |
697 | 698 |
698 AccountReconcilor* reconcilor = | 699 AccountReconcilor* reconcilor = |
699 AccountReconcilorFactory::GetForProfile(profile()); | 700 AccountReconcilorFactory::GetForProfile(profile()); |
700 ASSERT_TRUE(reconcilor); | 701 ASSERT_TRUE(reconcilor); |
701 | 702 |
702 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 703 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
703 reconcilor->StartReconcile(); | 704 reconcilor->StartReconcile(); |
704 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 705 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
705 | 706 |
706 base::RunLoop().RunUntilIdle(); | 707 base::RunLoop().RunUntilIdle(); |
(...skipping 22 matching lines...) Expand all Loading... |
729 base::RunLoop().RunUntilIdle(); | 730 base::RunLoop().RunUntilIdle(); |
730 SimulateAddAccountToCookieCompleted(reconcilor, account_id, | 731 SimulateAddAccountToCookieCompleted(reconcilor, account_id, |
731 GoogleServiceAuthError::AuthErrorNone()); | 732 GoogleServiceAuthError::AuthErrorNone()); |
732 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 733 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
733 } | 734 } |
734 | 735 |
735 TEST_F(AccountReconcilorTest, AddAccountToCookieCompletedWithBogusAccount) { | 736 TEST_F(AccountReconcilorTest, AddAccountToCookieCompletedWithBogusAccount) { |
736 const std::string account_id = | 737 const std::string account_id = |
737 ConnectProfileToAccount("12345", "user@gmail.com"); | 738 ConnectProfileToAccount("12345", "user@gmail.com"); |
738 cookie_manager_service()->SetListAccountsResponseOneAccountWithExpiry( | 739 cookie_manager_service()->SetListAccountsResponseOneAccountWithExpiry( |
739 "user@gmail.com", true); | 740 "user@gmail.com", "12345", true); |
740 | 741 |
741 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); | 742 EXPECT_CALL(*GetMockReconcilor(), PerformMergeAction(account_id)); |
742 | 743 |
743 AccountReconcilor* reconcilor = | 744 AccountReconcilor* reconcilor = |
744 AccountReconcilorFactory::GetForProfile(profile()); | 745 AccountReconcilorFactory::GetForProfile(profile()); |
745 ASSERT_TRUE(reconcilor); | 746 ASSERT_TRUE(reconcilor); |
746 | 747 |
747 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 748 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
748 reconcilor->StartReconcile(); | 749 reconcilor->StartReconcile(); |
749 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 750 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
750 | 751 |
751 base::RunLoop().RunUntilIdle(); | 752 base::RunLoop().RunUntilIdle(); |
752 | 753 |
753 // If an unknown account id is sent, it should not upset the state. | 754 // If an unknown account id is sent, it should not upset the state. |
754 SimulateAddAccountToCookieCompleted(reconcilor, "bogus_account_id", | 755 SimulateAddAccountToCookieCompleted(reconcilor, "bogus_account_id", |
755 GoogleServiceAuthError::AuthErrorNone()); | 756 GoogleServiceAuthError::AuthErrorNone()); |
756 ASSERT_TRUE(reconcilor->is_reconcile_started_); | 757 ASSERT_TRUE(reconcilor->is_reconcile_started_); |
757 | 758 |
758 SimulateAddAccountToCookieCompleted(reconcilor, account_id, | 759 SimulateAddAccountToCookieCompleted(reconcilor, account_id, |
759 GoogleServiceAuthError::AuthErrorNone()); | 760 GoogleServiceAuthError::AuthErrorNone()); |
760 ASSERT_FALSE(reconcilor->is_reconcile_started_); | 761 ASSERT_FALSE(reconcilor->is_reconcile_started_); |
761 } | 762 } |
762 | 763 |
763 INSTANTIATE_TEST_CASE_P(AccountReconcilorMaybeEnabled, | 764 INSTANTIATE_TEST_CASE_P(AccountReconcilorMaybeEnabled, |
764 AccountReconcilorTest, | 765 AccountReconcilorTest, |
765 testing::Bool()); | 766 testing::Bool()); |
OLD | NEW |