| 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 c32ea37e3c055bd17283ee42e85550fc8b4b6ae3..9b584b075bc66812ac9c3de8804bfac2cbcc163e 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(StartFetchingMergeSession, void());
|
| MOCK_METHOD0(StartLogOutUrlFetch, void());
|
|
|
| @@ -137,7 +137,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()));
|
|
|
| @@ -149,7 +149,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()));
|
|
|
| @@ -163,7 +163,7 @@ TEST_F(GaiaCookieManagerServiceTest, MergeSessionRetried) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(helper, StartFetchingMergeSession());
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
| @@ -185,7 +185,7 @@ TEST_F(GaiaCookieManagerServiceTest, MergeSessionRetriedTwice) {
|
| InstrumentedGaiaCookieManagerService helper(token_service(), signin_client());
|
| MockObserver observer(&helper);
|
|
|
| - EXPECT_CALL(helper, StartFetching());
|
| + EXPECT_CALL(helper, StartFetchingUbertoken());
|
| EXPECT_CALL(helper, StartFetchingMergeSession()).Times(2);
|
| EXPECT_CALL(observer, OnAddAccountToCookieCompleted("acc1@gmail.com",
|
| no_error()));
|
| @@ -215,7 +215,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()));
|
|
|
| @@ -227,7 +227,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",
|
| @@ -243,7 +243,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",
|
| @@ -259,7 +259,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",
|
| @@ -275,7 +275,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");
|
| @@ -293,36 +293,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()));
|
| @@ -333,13 +424,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");
|
| }
|
|
|
| @@ -349,7 +442,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",
|
| @@ -358,42 +451,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);
|
|
|