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 9b584b075bc66812ac9c3de8804bfac2cbcc163e..cc0445220f596c801886af3f181d4e70f6ff2d12 100644 |
--- a/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc |
+++ b/components/signin/core/browser/gaia_cookie_manager_service_unittest.cc |
@@ -76,6 +76,11 @@ class GaiaCookieManagerServiceTest : public testing::Test { |
OAuth2TokenService* token_service() { return &token_service_; } |
SigninClient* signin_client() { return &signin_client_; } |
+ void SimulateUbertokenSuccess(UbertokenConsumer* consumer, |
+ const std::string& uber_token) { |
+ consumer->OnUbertokenSuccess(uber_token); |
+ } |
+ |
void SimulateUbertokenFailure(UbertokenConsumer* consumer, |
const GoogleServiceAuthError& error) { |
consumer->OnUbertokenFailure(error); |
@@ -460,8 +465,7 @@ TEST_F(GaiaCookieManagerServiceTest, CancelSignIn) { |
TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcher) { |
InstrumentedGaiaCookieManagerService helper(token_service(), signin_client()); |
GaiaCookieManagerService::ExternalCcResultFetcher result_fetcher(&helper); |
- MockObserver observer(&helper); |
- EXPECT_CALL(observer, GetCheckConnectionInfoCompleted(true)); |
+ EXPECT_CALL(helper, StartFetchingMergeSession()); |
result_fetcher.Start(); |
// Simulate a successful completion of GetCheckConnctionInfo. |
@@ -491,8 +495,7 @@ TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcher) { |
TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcherTimeout) { |
InstrumentedGaiaCookieManagerService helper(token_service(), signin_client()); |
GaiaCookieManagerService::ExternalCcResultFetcher result_fetcher(&helper); |
- MockObserver observer(&helper); |
- EXPECT_CALL(observer, GetCheckConnectionInfoCompleted(false)); |
+ EXPECT_CALL(helper, StartFetchingMergeSession()); |
result_fetcher.Start(); |
// Simulate a successful completion of GetCheckConnctionInfo. |
@@ -525,6 +528,7 @@ TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcherTimeout) { |
TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcherTruncate) { |
InstrumentedGaiaCookieManagerService helper(token_service(), signin_client()); |
GaiaCookieManagerService::ExternalCcResultFetcher result_fetcher(&helper); |
+ EXPECT_CALL(helper, StartFetchingMergeSession()); |
result_fetcher.Start(); |
// Simulate a successful completion of GetCheckConnctionInfo. |
@@ -544,3 +548,39 @@ TEST_F(GaiaCookieManagerServiceTest, ExternalCcResultFetcherTruncate) { |
fetchers[GURL("http://www.yt.com")].second, "1234567890123456trunc"); |
ASSERT_EQ("yt:1234567890123456", result_fetcher.GetExternalCcResult()); |
} |
+ |
+TEST_F(GaiaCookieManagerServiceTest, UbertokenSuccessFetchesExternalCC) { |
+ InstrumentedGaiaCookieManagerService helper(token_service(), signin_client()); |
+ |
+ EXPECT_CALL(helper, StartFetchingUbertoken()); |
+ helper.AddAccountToCookie("acc1@gmail.com"); |
+ |
+ ASSERT_FALSE(factory()->GetFetcherByID(0)); |
+ SimulateUbertokenSuccess(&helper, "token"); |
+ |
+ // Check there is now a fetcher that belongs to the ExternalCCResultFetcher. |
+ net::TestURLFetcher* fetcher = factory()->GetFetcherByID(0); |
+ ASSERT_TRUE(NULL != fetcher); |
+ SimulateGetCheckConnctionInfoSuccess( |
+ fetcher, |
+ "[{\"carryBackToken\": \"bl\", \"url\": \"http://www.bl.com\"}]"); |
+ GaiaCookieManagerService::ExternalCcResultFetcher* result_fetcher = |
+ helper.external_cc_result_fetcher_for_testing(); |
+ GaiaCookieManagerService::ExternalCcResultFetcher::URLToTokenAndFetcher |
+ fetchers = result_fetcher->get_fetcher_map_for_testing(); |
+ ASSERT_EQ(1u, fetchers.size()); |
+ ASSERT_EQ(1u, fetchers.count(GURL("http://www.bl.com"))); |
+} |
+ |
+TEST_F(GaiaCookieManagerServiceTest, UbertokenSuccessFetchesExternalCCOnce) { |
+ InstrumentedGaiaCookieManagerService helper(token_service(), signin_client()); |
+ |
+ helper.external_cc_result_fetcher_for_testing()->Start(); |
+ |
+ EXPECT_CALL(helper, StartFetchingUbertoken()); |
+ helper.AddAccountToCookie("acc2@gmail.com"); |
+ // There is already a ExternalCCResultFetch underway. This will trigger |
+ // StartFetchingMergeSession. |
+ EXPECT_CALL(helper, StartFetchingMergeSession()); |
+ SimulateUbertokenSuccess(&helper, "token3"); |
+} |