| Index: components/signin/core/browser/gaia_cookie_manager_service_unittest.cc
|
| diff --git a/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc b/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc
|
| index 5675369c29c7eb7327dce608bde0b276aadafde3..11c16265f013571e074b0c4cf1d347cd070934a5 100644
|
| --- a/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc
|
| +++ b/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc
|
| @@ -58,7 +58,7 @@ class InstrumentedGaiaCookieManagerService : public GaiaCookieManagerService {
|
|
|
| virtual ~InstrumentedGaiaCookieManagerService() { total--; }
|
|
|
| - MOCK_METHOD0(StartFetching, void());
|
| + MOCK_METHOD0(StartFetchingUbertoken, void());
|
| MOCK_METHOD0(StartLogOutUrlFetch, void());
|
|
|
| private:
|
| @@ -136,7 +136,7 @@ TEST_F(GaiaCookieManagerServiceTest, Success) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
|
|
| @@ -148,7 +148,7 @@ TEST_F(GaiaCookieManagerServiceTest, FailedMergeSession) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| error()));
|
|
|
| @@ -160,7 +160,7 @@ TEST_F(GaiaCookieManagerServiceTest, FailedUbertoken) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| error()));
|
|
|
| @@ -172,7 +172,7 @@ TEST_F(GaiaCookieManagerServiceTest, ContinueAfterSuccess) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| @@ -188,7 +188,7 @@ TEST_F(GaiaCookieManagerServiceTest, ContinueAfterFailure1) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| error()));
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| @@ -204,7 +204,7 @@ TEST_F(GaiaCookieManagerServiceTest, ContinueAfterFailure2) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| error()));
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| @@ -220,7 +220,7 @@ TEST_F(GaiaCookieManagerServiceTest, AllRequestsInMultipleGoes) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching()).Times(4);
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(4);
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted(_, no_error())).Times(4);
|
|
|
| helper.AddAccountToCookie("acc1@gmail.com");
|
| @@ -238,36 +238,127 @@ TEST_F(GaiaCookieManagerServiceTest, AllRequestsInMultipleGoes) {
|
| SimulateMergeSessionSuccess(&helper, "token4");
|
| }
|
|
|
| -TEST_F(GaiaCookieManagerServiceTest, LogOut) {
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsNoQueue) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - std::vector<std::string> current_accounts;
|
| - current_accounts.push_back("acc1@gmail.com");
|
| - current_accounts.push_back("acc2@gmail.com");
|
| - current_accounts.push_back("acc3@gmail.com");
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + no_error()));
|
| + EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| +
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| + SimulateMergeSessionSuccess(&helper, "token1");
|
| +
|
| + helper.LogOutAllAccounts();
|
| + SimulateLogoutSuccess(&helper);
|
| +}
|
| +
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsAfterOneAddInQueue) {
|
| + InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| + MockObserver observer(&helper);
|
|
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + no_error()));
|
| EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| +
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| + helper.LogOutAllAccounts();
|
| +
|
| + SimulateMergeSessionSuccess(&helper, "token1");
|
| + SimulateLogoutSuccess(&helper);
|
| +}
|
| +
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsAfterTwoAddsInQueue) {
|
| + InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| + MockObserver observer(&helper);
|
| +
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + canceled()));
|
| + EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| +
|
| + helper.AddAccountToCookie("acc1@gmail.com");
|
| + // The Log Out should prevent this AddAccount from being fetched.
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| + helper.LogOutAllAccounts();
|
| +
|
| + SimulateMergeSessionSuccess(&helper, "token1");
|
| + SimulateLogoutSuccess(&helper);
|
| +}
|
| +
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsTwice) {
|
| + InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| + MockObserver observer(&helper);
|
| +
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + no_error()));
|
| + EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| +
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| + SimulateMergeSessionSuccess(&helper, "token1");
|
| +
|
| + helper.LogOutAllAccounts();
|
| + // Only one LogOut will be fetched.
|
| + helper.LogOutAllAccounts();
|
| + SimulateLogoutSuccess(&helper);
|
| +}
|
| +
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsBeforeAdd) {
|
| + InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| + MockObserver observer(&helper);
|
| +
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + no_error()));
|
| + EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc3@gmail.com",
|
| no_error()));
|
|
|
| - helper.LogOut("acc2@gmail.com", current_accounts);
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| + SimulateMergeSessionSuccess(&helper, "token1");
|
| +
|
| + helper.LogOutAllAccounts();
|
| + helper.AddAccountToCookie("acc3@gmail.com");
|
| +
|
| SimulateLogoutSuccess(&helper);
|
| + // After LogOut the MergeSession should be fetched.
|
| + SimulateMergeSessionSuccess(&helper, "token2");
|
| +}
|
| +
|
| +TEST_F(GaiaCookieManagerServiceTest, LogOutAllAccountsBeforeLogoutAndAdd) {
|
| + InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| + MockObserver observer(&helper);
|
| +
|
| +
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| + no_error()));
|
| + EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| + EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc3@gmail.com",
|
| + no_error()));
|
| +
|
| + helper.AddAccountToCookie("acc2@gmail.com");
|
| SimulateMergeSessionSuccess(&helper, "token1");
|
| - SimulateMergeSessionSuccess(&helper, "token3");
|
| +
|
| + helper.LogOutAllAccounts();
|
| + // Second LogOut will never be fetched.
|
| + helper.LogOutAllAccounts();
|
| + helper.AddAccountToCookie("acc3@gmail.com");
|
| +
|
| + SimulateLogoutSuccess(&helper);
|
| + // After LogOut the MergeSession should be fetched.
|
| + SimulateMergeSessionSuccess(&helper, "token2");
|
| }
|
|
|
| TEST_F(GaiaCookieManagerServiceTest, PendingSigninThenSignout) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - std::vector<std::string> current_accounts;
|
| - current_accounts.push_back("acc2@gmail.com");
|
| - current_accounts.push_back("acc3@gmail.com");
|
| -
|
| // From the first Signin.
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
| @@ -278,13 +369,15 @@ TEST_F(GaiaCookieManagerServiceTest, PendingSigninThenSignout) {
|
| no_error()));
|
|
|
| // Total sign in 2 times, not enforcing ordered sequences.
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| + EXPECT_CALL(helper, StartFetchingUbertoken()).Times(2);
|
|
|
| helper.AddAccountToCookie("acc1@gmail.com");
|
| - helper.LogOut("acc2@gmail.com", current_accounts);
|
| + helper.LogOutAllAccounts();
|
|
|
| SimulateMergeSessionSuccess(&helper, "token1");
|
| SimulateLogoutSuccess(&helper);
|
| +
|
| + helper.AddAccountToCookie("acc3@gmail.com");
|
| SimulateMergeSessionSuccess(&helper, "token3");
|
| }
|
|
|
| @@ -294,7 +387,7 @@ TEST_F(GaiaCookieManagerServiceTest, CancelSignIn) {
|
|
|
| std::vector<std::string> current_accounts;
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc2@gmail.com",
|
| canceled()));
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| @@ -303,42 +396,12 @@ TEST_F(GaiaCookieManagerServiceTest, CancelSignIn) {
|
|
|
| helper.AddAccountToCookie("acc1@gmail.com");
|
| helper.AddAccountToCookie("acc2@gmail.com");
|
| - helper.LogOut("acc2@gmail.com", current_accounts);
|
| + helper.LogOutAllAccounts();
|
|
|
| SimulateMergeSessionSuccess(&helper, "token1");
|
| SimulateLogoutSuccess(&helper);
|
| }
|
|
|
| -TEST_F(GaiaCookieManagerServiceTest, DoubleSignout) {
|
| - InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| - MockObserver observer(&helper);
|
| -
|
| - std::vector<std::string> current_accounts1;
|
| - current_accounts1.push_back("acc1@gmail.com");
|
| - current_accounts1.push_back("acc2@gmail.com");
|
| - current_accounts1.push_back("acc3@gmail.com");
|
| -
|
| - std::vector<std::string> current_accounts2;
|
| - current_accounts2.push_back("acc1@gmail.com");
|
| - current_accounts2.push_back("acc3@gmail.com");
|
| -
|
| - EXPECT_CALL(helper, StartFetching()).Times(2);
|
| - EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc3@gmail.com",
|
| - canceled()));
|
| - EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| - no_error()))
|
| - .Times(2);
|
| - EXPECT_CALL(helper, StartLogOutUrlFetch());
|
| -
|
| - helper.AddAccountToCookie("acc1@gmail.com");
|
| - helper.LogOut("acc2@gmail.com", current_accounts1);
|
| - helper.LogOut("acc3@gmail.com", current_accounts2);
|
| -
|
| - SimulateMergeSessionSuccess(&helper, "token1");
|
| - SimulateLogoutSuccess(&helper);
|
| - SimulateMergeSessionSuccess(&helper, "token1");
|
| -}
|
| -
|
| TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcher) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| GaiaCookieManagerService::ExternalCcResultFetcher result_fetcher(&helper);
|
|
|