Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: chrome/common/net/gaia/gaia_auth_fetcher_unittest.cc

Issue 9301003: Change X-Auto-Login implementation to use OAuth token. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Copyright. Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/net/gaia/gaia_auth_fetcher.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // A complete set of unit tests for GaiaAuthFetcher. 5 // A complete set of unit tests for GaiaAuthFetcher.
6 // Originally ported from GoogleAuthenticator tests. 6 // Originally ported from GoogleAuthenticator tests.
7 7
8 #include "chrome/common/net/gaia/gaia_auth_fetcher_unittest.h" 8 #include "chrome/common/net/gaia/gaia_auth_fetcher_unittest.h"
9 9
10 #include <string> 10 #include <string>
11 11
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 class GaiaAuthFetcherTest : public testing::Test { 109 class GaiaAuthFetcherTest : public testing::Test {
110 public: 110 public:
111 GaiaAuthFetcherTest() 111 GaiaAuthFetcherTest()
112 : client_login_source_(GaiaUrls::GetInstance()->client_login_url()), 112 : client_login_source_(GaiaUrls::GetInstance()->client_login_url()),
113 issue_auth_token_source_( 113 issue_auth_token_source_(
114 GaiaUrls::GetInstance()->issue_auth_token_url()), 114 GaiaUrls::GetInstance()->issue_auth_token_url()),
115 client_login_to_oauth2_source_( 115 client_login_to_oauth2_source_(
116 GaiaUrls::GetInstance()->client_login_to_oauth2_url()), 116 GaiaUrls::GetInstance()->client_login_to_oauth2_url()),
117 oauth2_token_source_(GaiaUrls::GetInstance()->oauth2_token_url()), 117 oauth2_token_source_(GaiaUrls::GetInstance()->oauth2_token_url()),
118 token_auth_source_(GaiaUrls::GetInstance()->token_auth_url()), 118 token_auth_source_(GaiaUrls::GetInstance()->token_auth_url()),
119 merge_session_source_(GaiaUrls::GetInstance()->merge_session_url()) {} 119 merge_session_source_(GaiaUrls::GetInstance()->merge_session_url()),
120 uberauth_token_source_(base::StringPrintf(
121 "%s?source=&issueuberauth=1",
122 GaiaUrls::GetInstance()->oauth1_login_url().c_str())) {}
120 123
121 void RunParsingTest(const std::string& data, 124 void RunParsingTest(const std::string& data,
122 const std::string& sid, 125 const std::string& sid,
123 const std::string& lsid, 126 const std::string& lsid,
124 const std::string& token) { 127 const std::string& token) {
125 std::string out_sid; 128 std::string out_sid;
126 std::string out_lsid; 129 std::string out_lsid;
127 std::string out_token; 130 std::string out_token;
128 131
129 GaiaAuthFetcher::ParseClientLoginResponse(data, 132 GaiaAuthFetcher::ParseClientLoginResponse(data,
(...skipping 26 matching lines...) Expand all
156 EXPECT_EQ(captcha_token, out_captcha_token); 159 EXPECT_EQ(captcha_token, out_captcha_token);
157 } 160 }
158 161
159 net::ResponseCookies cookies_; 162 net::ResponseCookies cookies_;
160 GURL client_login_source_; 163 GURL client_login_source_;
161 GURL issue_auth_token_source_; 164 GURL issue_auth_token_source_;
162 GURL client_login_to_oauth2_source_; 165 GURL client_login_to_oauth2_source_;
163 GURL oauth2_token_source_; 166 GURL oauth2_token_source_;
164 GURL token_auth_source_; 167 GURL token_auth_source_;
165 GURL merge_session_source_; 168 GURL merge_session_source_;
169 GURL uberauth_token_source_;
166 TestingProfile profile_; 170 TestingProfile profile_;
167 protected: 171 protected:
168 MessageLoop message_loop_; 172 MessageLoop message_loop_;
169 }; 173 };
170 174
171 class MockGaiaConsumer : public GaiaAuthConsumer { 175 class MockGaiaConsumer : public GaiaAuthConsumer {
172 public: 176 public:
173 MockGaiaConsumer() {} 177 MockGaiaConsumer() {}
174 ~MockGaiaConsumer() {} 178 ~MockGaiaConsumer() {}
175 179
176 MOCK_METHOD1(OnClientLoginSuccess, void(const ClientLoginResult& result)); 180 MOCK_METHOD1(OnClientLoginSuccess, void(const ClientLoginResult& result));
177 MOCK_METHOD2(OnIssueAuthTokenSuccess, void(const std::string& service, 181 MOCK_METHOD2(OnIssueAuthTokenSuccess, void(const std::string& service,
178 const std::string& token)); 182 const std::string& token));
179 MOCK_METHOD3(OnOAuthLoginTokenSuccess, 183 MOCK_METHOD3(OnOAuthLoginTokenSuccess,
180 void(const std::string& refresh_token, 184 void(const std::string& refresh_token,
181 const std::string& access_token, 185 const std::string& access_token,
182 int expires_in_secs)); 186 int expires_in_secs));
183 MOCK_METHOD1(OnTokenAuthSuccess, void(const std::string& data)); 187 MOCK_METHOD1(OnTokenAuthSuccess, void(const std::string& data));
184 MOCK_METHOD1(OnMergeSessionSuccess, void(const std::string& data)); 188 MOCK_METHOD1(OnMergeSessionSuccess, void(const std::string& data));
189 MOCK_METHOD1(OnUberAuthTokenSuccess, void(const std::string& data));
185 MOCK_METHOD1(OnClientLoginFailure, 190 MOCK_METHOD1(OnClientLoginFailure,
186 void(const GoogleServiceAuthError& error)); 191 void(const GoogleServiceAuthError& error));
187 MOCK_METHOD2(OnIssueAuthTokenFailure, void(const std::string& service, 192 MOCK_METHOD2(OnIssueAuthTokenFailure, void(const std::string& service,
188 const GoogleServiceAuthError& error)); 193 const GoogleServiceAuthError& error));
189 MOCK_METHOD1(OnOAuthLoginTokenFailure, 194 MOCK_METHOD1(OnOAuthLoginTokenFailure,
190 void(const GoogleServiceAuthError& error)); 195 void(const GoogleServiceAuthError& error));
191 MOCK_METHOD1(OnTokenAuthFailure, void(const GoogleServiceAuthError& error)); 196 MOCK_METHOD1(OnTokenAuthFailure, void(const GoogleServiceAuthError& error));
192 MOCK_METHOD1(OnMergeSessionFailure, void( 197 MOCK_METHOD1(OnMergeSessionFailure, void(
193 const GoogleServiceAuthError& error)); 198 const GoogleServiceAuthError& error));
199 MOCK_METHOD1(OnUberAuthTokenFailure, void(
200 const GoogleServiceAuthError& error));
194 }; 201 };
195 202
196 TEST_F(GaiaAuthFetcherTest, ErrorComparator) { 203 TEST_F(GaiaAuthFetcherTest, ErrorComparator) {
197 GoogleServiceAuthError expected_error = 204 GoogleServiceAuthError expected_error =
198 GoogleServiceAuthError::FromConnectionError(-101); 205 GoogleServiceAuthError::FromConnectionError(-101);
199 206
200 GoogleServiceAuthError matching_error = 207 GoogleServiceAuthError matching_error =
201 GoogleServiceAuthError::FromConnectionError(-101); 208 GoogleServiceAuthError::FromConnectionError(-101);
202 209
203 EXPECT_TRUE(expected_error == matching_error); 210 EXPECT_TRUE(expected_error == matching_error);
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 test_fetcher->set_status( 772 test_fetcher->set_status(
766 net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0)); 773 net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0));
767 test_fetcher->set_response_code(RC_REQUEST_OK); 774 test_fetcher->set_response_code(RC_REQUEST_OK);
768 test_fetcher->set_cookies(cookies_); 775 test_fetcher->set_cookies(cookies_);
769 test_fetcher->SetResponseString("<html></html>"); 776 test_fetcher->SetResponseString("<html></html>");
770 777
771 auth.OnURLFetchComplete(test_fetcher); 778 auth.OnURLFetchComplete(test_fetcher);
772 EXPECT_FALSE(auth.HasPendingFetch()); 779 EXPECT_FALSE(auth.HasPendingFetch());
773 } 780 }
774 781
782 TEST_F(GaiaAuthFetcherTest, UberAuthTokenSuccess) {
783 MockGaiaConsumer consumer;
784 EXPECT_CALL(consumer, OnUberAuthTokenSuccess("uberToken"))
785 .Times(1);
786
787 TestingProfile profile;
788 TestURLFetcherFactory factory;
789
790 GaiaAuthFetcher auth(&consumer, std::string(),
791 profile_.GetRequestContext());
792 auth.StartUberAuthTokenFetch("myAccessToken");
793
794 EXPECT_TRUE(auth.HasPendingFetch());
795 MockFetcher mock_fetcher(
796 uberauth_token_source_,
797 net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 0),
798 RC_REQUEST_OK, cookies_, "uberToken", content::URLFetcher::POST,
799 &auth);
800 auth.OnURLFetchComplete(&mock_fetcher);
801 EXPECT_FALSE(auth.HasPendingFetch());
802 }
803
775 TEST_F(GaiaAuthFetcherTest, ParseClientLoginToOAuth2Response) { 804 TEST_F(GaiaAuthFetcherTest, ParseClientLoginToOAuth2Response) {
776 { // No cookies. 805 { // No cookies.
777 std::string auth_code; 806 std::string auth_code;
778 net::ResponseCookies cookies; 807 net::ResponseCookies cookies;
779 EXPECT_FALSE(GaiaAuthFetcher::ParseClientLoginToOAuth2Response( 808 EXPECT_FALSE(GaiaAuthFetcher::ParseClientLoginToOAuth2Response(
780 cookies, &auth_code)); 809 cookies, &auth_code));
781 EXPECT_EQ("", auth_code); 810 EXPECT_EQ("", auth_code);
782 } 811 }
783 { // Few cookies, nothing appropriate. 812 { // Few cookies, nothing appropriate.
784 std::string auth_code; 813 std::string auth_code;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 std::string rt; 885 std::string rt;
857 std::string at; 886 std::string at;
858 int exp = -1; 887 int exp = -1;
859 EXPECT_TRUE(GaiaAuthFetcher::ParseOAuth2TokenPairResponse( 888 EXPECT_TRUE(GaiaAuthFetcher::ParseOAuth2TokenPairResponse(
860 kGetTokenPairValidResponse, &rt, &at, &exp)); 889 kGetTokenPairValidResponse, &rt, &at, &exp));
861 EXPECT_EQ("rt1", rt); 890 EXPECT_EQ("rt1", rt);
862 EXPECT_EQ("at1", at); 891 EXPECT_EQ("at1", at);
863 EXPECT_EQ(3600, exp); 892 EXPECT_EQ(3600, exp);
864 } 893 }
865 } 894 }
OLDNEW
« no previous file with comments | « chrome/common/net/gaia/gaia_auth_fetcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698