| Index: chrome/common/net/gaia/gaia_auth_fetcher_unittest.cc
|
| ===================================================================
|
| --- chrome/common/net/gaia/gaia_auth_fetcher_unittest.cc (revision 96549)
|
| +++ chrome/common/net/gaia/gaia_auth_fetcher_unittest.cc (working copy)
|
| @@ -21,6 +21,7 @@
|
| #include "content/common/url_fetcher.h"
|
| #include "content/test/test_url_fetcher_factory.h"
|
| #include "googleurl/src/gurl.h"
|
| +#include "net/base/load_flags.h"
|
| #include "net/base/net_errors.h"
|
| #include "net/url_request/url_request_status.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
| @@ -67,7 +68,8 @@
|
| : client_login_source_(GaiaUrls::GetInstance()->client_login_url()),
|
| issue_auth_token_source_(
|
| GaiaUrls::GetInstance()->issue_auth_token_url()),
|
| - token_auth_source_(GaiaUrls::GetInstance()->token_auth_url()) {}
|
| + token_auth_source_(GaiaUrls::GetInstance()->token_auth_url()),
|
| + merge_session_source_(GaiaUrls::GetInstance()->merge_session_url()) {}
|
|
|
| void RunParsingTest(const std::string& data,
|
| const std::string& sid,
|
| @@ -111,6 +113,7 @@
|
| GURL client_login_source_;
|
| GURL issue_auth_token_source_;
|
| GURL token_auth_source_;
|
| + GURL merge_session_source_;
|
| TestingProfile profile_;
|
| protected:
|
| MessageLoop message_loop_;
|
| @@ -125,11 +128,14 @@
|
| MOCK_METHOD2(OnIssueAuthTokenSuccess, void(const std::string& service,
|
| const std::string& token));
|
| MOCK_METHOD1(OnTokenAuthSuccess, void(const std::string& data));
|
| + MOCK_METHOD1(OnMergeSessionSuccess, void(const std::string& data));
|
| MOCK_METHOD1(OnClientLoginFailure,
|
| void(const GoogleServiceAuthError& error));
|
| MOCK_METHOD2(OnIssueAuthTokenFailure, void(const std::string& service,
|
| const GoogleServiceAuthError& error));
|
| MOCK_METHOD1(OnTokenAuthFailure, void(const GoogleServiceAuthError& error));
|
| + MOCK_METHOD1(OnMergeSessionFailure, void(
|
| + const GoogleServiceAuthError& error));
|
| };
|
|
|
| TEST_F(GaiaAuthFetcherTest, ErrorComparator) {
|
| @@ -592,3 +598,58 @@
|
| "");
|
| EXPECT_FALSE(auth.HasPendingFetch());
|
| }
|
| +
|
| +TEST_F(GaiaAuthFetcherTest, MergeSessionSuccess) {
|
| + MockGaiaConsumer consumer;
|
| + EXPECT_CALL(consumer, OnMergeSessionSuccess("<html></html>"))
|
| + .Times(1);
|
| +
|
| + TestingProfile profile;
|
| + TestURLFetcherFactory factory;
|
| +
|
| + GaiaAuthFetcher auth(&consumer, std::string(),
|
| + profile_.GetRequestContext());
|
| + auth.StartMergeSession("myubertoken");
|
| +
|
| + EXPECT_TRUE(auth.HasPendingFetch());
|
| + auth.OnURLFetchComplete(
|
| + NULL,
|
| + merge_session_source_,
|
| + net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0),
|
| + RC_REQUEST_OK,
|
| + cookies_,
|
| + "<html></html>");
|
| + EXPECT_FALSE(auth.HasPendingFetch());
|
| +}
|
| +
|
| +TEST_F(GaiaAuthFetcherTest, MergeSessionSuccessRedirect) {
|
| + MockGaiaConsumer consumer;
|
| + EXPECT_CALL(consumer, OnMergeSessionSuccess("<html></html>"))
|
| + .Times(1);
|
| +
|
| + TestingProfile profile;
|
| + TestURLFetcherFactory factory;
|
| +
|
| + GaiaAuthFetcher auth(&consumer, std::string(),
|
| + profile_.GetRequestContext());
|
| + auth.StartMergeSession("myubertoken");
|
| +
|
| + // Make sure the fetcher created has the expected flags. Set its url()
|
| + // properties to reflect a redirect.
|
| + TestURLFetcher* test_fetcher = factory.GetFetcherByID(0);
|
| + EXPECT_TRUE(test_fetcher != NULL);
|
| + EXPECT_TRUE(test_fetcher->load_flags() == net::LOAD_NORMAL);
|
| + EXPECT_TRUE(auth.HasPendingFetch());
|
| +
|
| + GURL final_url("http://www.google.com/CheckCookie");
|
| + test_fetcher->set_url(final_url);
|
| +
|
| + auth.OnURLFetchComplete(
|
| + test_fetcher,
|
| + test_fetcher->url(),
|
| + net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0),
|
| + RC_REQUEST_OK,
|
| + cookies_,
|
| + "<html></html>");
|
| + EXPECT_FALSE(auth.HasPendingFetch());
|
| +}
|
|
|