OLD | NEW |
1 // Copyright (c) 2012 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 GaiaOAuthFetcher. | 5 // A complete set of unit tests for GaiaOAuthFetcher. |
6 // Originally ported from GaiaAuthFetcher tests. | 6 // Originally ported from GaiaAuthFetcher tests. |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "base/message_loop.h" | 11 #include "base/message_loop.h" |
12 #include "chrome/browser/net/chrome_cookie_notification_details.h" | 12 #include "chrome/browser/net/chrome_cookie_notification_details.h" |
13 #include "chrome/browser/net/gaia/gaia_oauth_consumer.h" | 13 #include "chrome/browser/net/gaia/gaia_oauth_consumer.h" |
14 #include "chrome/browser/net/gaia/gaia_oauth_fetcher.h" | 14 #include "chrome/browser/net/gaia/gaia_oauth_fetcher.h" |
15 #include "chrome/common/chrome_notification_types.h" | 15 #include "chrome/common/chrome_notification_types.h" |
16 #include "chrome/common/net/gaia/gaia_constants.h" | 16 #include "chrome/common/net/gaia/gaia_constants.h" |
17 #include "chrome/common/net/gaia/gaia_urls.h" | 17 #include "chrome/common/net/gaia/gaia_urls.h" |
18 #include "chrome/common/net/gaia/google_service_auth_error.h" | 18 #include "chrome/common/net/gaia/google_service_auth_error.h" |
19 #include "chrome/test/base/testing_profile.h" | 19 #include "chrome/test/base/testing_profile.h" |
20 #include "content/public/browser/notification_details.h" | 20 #include "content/public/browser/notification_details.h" |
21 #include "content/public/browser/notification_source.h" | 21 #include "content/public/browser/notification_source.h" |
22 #include "content/public/test/test_url_fetcher_factory.h" | |
23 #include "googleurl/src/gurl.h" | 22 #include "googleurl/src/gurl.h" |
24 #include "net/base/net_errors.h" | 23 #include "net/base/net_errors.h" |
25 #include "net/http/http_status_code.h" | 24 #include "net/http/http_status_code.h" |
| 25 #include "net/url_request/test_url_fetcher_factory.h" |
26 #include "net/url_request/url_request_status.h" | 26 #include "net/url_request/url_request_status.h" |
27 #include "testing/gmock/include/gmock/gmock.h" | 27 #include "testing/gmock/include/gmock/gmock.h" |
28 #include "testing/gtest/include/gtest/gtest.h" | 28 #include "testing/gtest/include/gtest/gtest.h" |
29 | 29 |
30 using ::testing::_; | 30 using ::testing::_; |
31 | 31 |
32 class MockGaiaOAuthConsumer : public GaiaOAuthConsumer { | 32 class MockGaiaOAuthConsumer : public GaiaOAuthConsumer { |
33 public: | 33 public: |
34 MockGaiaOAuthConsumer() {} | 34 MockGaiaOAuthConsumer() {} |
35 ~MockGaiaOAuthConsumer() {} | 35 ~MockGaiaOAuthConsumer() {} |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 EXPECT_CALL(oauth_fetcher, | 158 EXPECT_CALL(oauth_fetcher, |
159 StartOAuthWrapBridge(oauth_token, | 159 StartOAuthWrapBridge(oauth_token, |
160 oauth_token_secret, | 160 oauth_token_secret, |
161 "3600", | 161 "3600", |
162 "service_scope-JnG18MEE")).Times(1); | 162 "service_scope-JnG18MEE")).Times(1); |
163 | 163 |
164 net::ResponseCookies cookies; | 164 net::ResponseCookies cookies; |
165 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); | 165 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); |
166 GURL url(GaiaUrls::GetInstance()->oauth_get_access_token_url()); | 166 GURL url(GaiaUrls::GetInstance()->oauth_get_access_token_url()); |
167 | 167 |
168 TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); | 168 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); |
169 test_fetcher.set_url(url); | 169 test_fetcher.set_url(url); |
170 test_fetcher.set_status(status); | 170 test_fetcher.set_status(status); |
171 test_fetcher.set_response_code(net::HTTP_OK); | 171 test_fetcher.set_response_code(net::HTTP_OK); |
172 test_fetcher.set_cookies(cookies); | 172 test_fetcher.set_cookies(cookies); |
173 test_fetcher.SetResponseString(data); | 173 test_fetcher.SetResponseString(data); |
174 oauth_fetcher.OnURLFetchComplete(&test_fetcher); | 174 oauth_fetcher.OnURLFetchComplete(&test_fetcher); |
175 } | 175 } |
176 | 176 |
177 TEST_F(GaiaOAuthFetcherTest, OAuthWrapBridge) { | 177 TEST_F(GaiaOAuthFetcherTest, OAuthWrapBridge) { |
178 const std::string wrap_token = | 178 const std::string wrap_token = |
(...skipping 15 matching lines...) Expand all Loading... |
194 profile.GetRequestContext(), | 194 profile.GetRequestContext(), |
195 &profile, | 195 &profile, |
196 "service_scope-0fL85iOi"); | 196 "service_scope-0fL85iOi"); |
197 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_SERVICE_ACCESS_TOKEN); | 197 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_SERVICE_ACCESS_TOKEN); |
198 EXPECT_CALL(oauth_fetcher, StartUserInfo(wrap_token)).Times(1); | 198 EXPECT_CALL(oauth_fetcher, StartUserInfo(wrap_token)).Times(1); |
199 | 199 |
200 net::ResponseCookies cookies; | 200 net::ResponseCookies cookies; |
201 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); | 201 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); |
202 GURL url(GaiaUrls::GetInstance()->oauth_wrap_bridge_url()); | 202 GURL url(GaiaUrls::GetInstance()->oauth_wrap_bridge_url()); |
203 | 203 |
204 TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); | 204 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); |
205 test_fetcher.set_url(url); | 205 test_fetcher.set_url(url); |
206 test_fetcher.set_status(status); | 206 test_fetcher.set_status(status); |
207 test_fetcher.set_response_code(net::HTTP_OK); | 207 test_fetcher.set_response_code(net::HTTP_OK); |
208 test_fetcher.set_cookies(cookies); | 208 test_fetcher.set_cookies(cookies); |
209 test_fetcher.SetResponseString(data); | 209 test_fetcher.SetResponseString(data); |
210 oauth_fetcher.OnURLFetchComplete(&test_fetcher); | 210 oauth_fetcher.OnURLFetchComplete(&test_fetcher); |
211 } | 211 } |
212 | 212 |
213 TEST_F(GaiaOAuthFetcherTest, UserInfo) { | 213 TEST_F(GaiaOAuthFetcherTest, UserInfo) { |
214 const std::string email_address = "someone@somewhere.net"; | 214 const std::string email_address = "someone@somewhere.net"; |
(...skipping 10 matching lines...) Expand all Loading... |
225 MockGaiaOAuthFetcher oauth_fetcher(&consumer, | 225 MockGaiaOAuthFetcher oauth_fetcher(&consumer, |
226 profile.GetRequestContext(), | 226 profile.GetRequestContext(), |
227 &profile, | 227 &profile, |
228 "service_scope-Nrj4LmgU"); | 228 "service_scope-Nrj4LmgU"); |
229 oauth_fetcher.set_request_type(GaiaOAuthFetcher::USER_INFO); | 229 oauth_fetcher.set_request_type(GaiaOAuthFetcher::USER_INFO); |
230 | 230 |
231 net::ResponseCookies cookies; | 231 net::ResponseCookies cookies; |
232 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); | 232 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); |
233 GURL url(GaiaUrls::GetInstance()->oauth_user_info_url()); | 233 GURL url(GaiaUrls::GetInstance()->oauth_user_info_url()); |
234 | 234 |
235 TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); | 235 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); |
236 test_fetcher.set_url(url); | 236 test_fetcher.set_url(url); |
237 test_fetcher.set_status(status); | 237 test_fetcher.set_status(status); |
238 test_fetcher.set_response_code(net::HTTP_OK); | 238 test_fetcher.set_response_code(net::HTTP_OK); |
239 test_fetcher.set_cookies(cookies); | 239 test_fetcher.set_cookies(cookies); |
240 test_fetcher.SetResponseString(data); | 240 test_fetcher.SetResponseString(data); |
241 oauth_fetcher.OnURLFetchComplete(&test_fetcher); | 241 oauth_fetcher.OnURLFetchComplete(&test_fetcher); |
242 } | 242 } |
243 | 243 |
244 TEST_F(GaiaOAuthFetcherTest, OAuthRevokeToken) { | 244 TEST_F(GaiaOAuthFetcherTest, OAuthRevokeToken) { |
245 const std::string token = "1/OAuth2-Access_Token-nopqrstuvwxyz1234567890"; | 245 const std::string token = "1/OAuth2-Access_Token-nopqrstuvwxyz1234567890"; |
246 MockGaiaOAuthConsumer consumer; | 246 MockGaiaOAuthConsumer consumer; |
247 EXPECT_CALL(consumer, | 247 EXPECT_CALL(consumer, |
248 OnOAuthRevokeTokenSuccess()).Times(1); | 248 OnOAuthRevokeTokenSuccess()).Times(1); |
249 | 249 |
250 TestingProfile profile; | 250 TestingProfile profile; |
251 MockGaiaOAuthFetcher oauth_fetcher(&consumer, | 251 MockGaiaOAuthFetcher oauth_fetcher(&consumer, |
252 profile.GetRequestContext(), | 252 profile.GetRequestContext(), |
253 &profile, | 253 &profile, |
254 "service_scope-Nrj4LmgU"); | 254 "service_scope-Nrj4LmgU"); |
255 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_REVOKE_TOKEN); | 255 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_REVOKE_TOKEN); |
256 | 256 |
257 net::ResponseCookies cookies; | 257 net::ResponseCookies cookies; |
258 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); | 258 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0); |
259 GURL url(GaiaUrls::GetInstance()->oauth_revoke_token_url()); | 259 GURL url(GaiaUrls::GetInstance()->oauth_revoke_token_url()); |
260 | 260 |
261 TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); | 261 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher); |
262 test_fetcher.set_url(url); | 262 test_fetcher.set_url(url); |
263 test_fetcher.set_status(status); | 263 test_fetcher.set_status(status); |
264 test_fetcher.set_response_code(net::HTTP_OK); | 264 test_fetcher.set_response_code(net::HTTP_OK); |
265 test_fetcher.set_cookies(cookies); | 265 test_fetcher.set_cookies(cookies); |
266 oauth_fetcher.OnURLFetchComplete(&test_fetcher); | 266 oauth_fetcher.OnURLFetchComplete(&test_fetcher); |
267 } | 267 } |
OLD | NEW |