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

Side by Side Diff: chrome/browser/net/gaia/gaia_oauth_fetcher_unittest.cc

Issue 139153011: Remove unused code (gaia_oauth_fetcher). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 6 years, 11 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/browser/net/gaia/gaia_oauth_fetcher.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4 //
5 // A complete set of unit tests for GaiaOAuthFetcher.
6 // Originally ported from GaiaAuthFetcher tests.
7
8 #include <string>
9
10 #include "base/memory/scoped_ptr.h"
11 #include "chrome/browser/net/gaia/gaia_oauth_consumer.h"
12 #include "chrome/browser/net/gaia/gaia_oauth_fetcher.h"
13 #include "chrome/test/base/testing_profile.h"
14 #include "content/public/test/test_browser_thread_bundle.h"
15 #include "google_apis/gaia/gaia_constants.h"
16 #include "google_apis/gaia/gaia_urls.h"
17 #include "google_apis/gaia/google_service_auth_error.h"
18 #include "net/base/net_errors.h"
19 #include "net/http/http_status_code.h"
20 #include "net/url_request/test_url_fetcher_factory.h"
21 #include "net/url_request/url_request_status.h"
22 #include "testing/gmock/include/gmock/gmock.h"
23 #include "testing/gtest/include/gtest/gtest.h"
24 #include "url/gurl.h"
25
26 class MockGaiaOAuthConsumer : public GaiaOAuthConsumer {
27 public:
28 MockGaiaOAuthConsumer() {}
29 ~MockGaiaOAuthConsumer() {}
30
31 MOCK_METHOD1(OnGetOAuthTokenSuccess, void(const std::string& oauth_token));
32 MOCK_METHOD1(OnGetOAuthTokenFailure,
33 void(const GoogleServiceAuthError& error));
34
35 MOCK_METHOD2(OnOAuthGetAccessTokenSuccess, void(const std::string& token,
36 const std::string& secret));
37 MOCK_METHOD1(OnOAuthGetAccessTokenFailure,
38 void(const GoogleServiceAuthError& error));
39
40 MOCK_METHOD3(OnOAuthWrapBridgeSuccess,
41 void(const std::string& service_scope,
42 const std::string& token,
43 const std::string& expires_in));
44 MOCK_METHOD2(OnOAuthWrapBridgeFailure,
45 void(const std::string& service_scope,
46 const GoogleServiceAuthError& error));
47
48 MOCK_METHOD1(OnUserInfoSuccess, void(const std::string& email));
49 MOCK_METHOD1(OnUserInfoFailure, void(const GoogleServiceAuthError& error));
50
51 MOCK_METHOD0(OnOAuthRevokeTokenSuccess, void());
52 MOCK_METHOD1(OnOAuthRevokeTokenFailure,
53 void(const GoogleServiceAuthError& error));
54 };
55
56 class MockGaiaOAuthFetcher : public GaiaOAuthFetcher {
57 public:
58 MockGaiaOAuthFetcher(GaiaOAuthConsumer* consumer,
59 net::URLRequestContextGetter* getter,
60 const std::string& service_scope)
61 : GaiaOAuthFetcher(
62 consumer, getter, service_scope) {}
63
64 ~MockGaiaOAuthFetcher() {}
65
66 void set_request_type(RequestType type) {
67 request_type_ = type;
68 }
69
70 MOCK_METHOD1(StartOAuthGetAccessToken,
71 void(const std::string& oauth1_request_token));
72
73 MOCK_METHOD4(StartOAuthWrapBridge,
74 void(const std::string& oauth1_access_token,
75 const std::string& oauth1_access_token_secret,
76 const std::string& wrap_token_duration,
77 const std::string& oauth2_scope));
78
79 MOCK_METHOD1(StartUserInfo, void(const std::string& oauth2_access_token));
80 };
81
82 #if 0 // Suppressing for now
83 TEST(GaiaOAuthFetcherTest, GetOAuthToken) {
84 const std::string oauth_token = "4/OAuth1-Request_Token-1234567";
85 base::Time creation = base::Time::Now();
86 base::Time expiration = base::Time::Time();
87
88 scoped_ptr<net::CanonicalCookie> canonical_cookie;
89 canonical_cookie.reset(
90 new net::CanonicalCookie(
91 GURL("http://www.google.com/"), // url
92 "oauth_token", // name
93 oauth_token, // value
94 "www.google.com", // domain
95 "/accounts/o8/GetOAuthToken", // path
96 "", // mac_key
97 "", // mac_algorithm
98 creation, // creation
99 expiration, // expiration
100 creation, // last_access
101 true, // secure
102 true, // httponly
103 false)); // has_expires
104
105 scoped_ptr<ChromeCookieDetails::ChromeCookieDetails> cookie_details;
106 cookie_details.reset(
107 new ChromeCookieDetails::ChromeCookieDetails(
108 canonical_cookie.get(),
109 false,
110 net::CookieMonster::Delegate::CHANGE_COOKIE_EXPLICIT));
111
112 MockGaiaOAuthConsumer consumer;
113 EXPECT_CALL(consumer, OnGetOAuthTokenSuccess(oauth_token)).Times(1);
114
115 TestingProfile profile;
116
117 MockGaiaOAuthFetcher oauth_fetcher(&consumer,
118 profile.GetRequestContext(),
119 std::string());
120 EXPECT_CALL(oauth_fetcher, StartOAuthGetAccessToken(oauth_token)).Times(1);
121 }
122 #endif // 0 // Suppressing for now
123
124 class GaiaOAuthFetcherTest : public testing::Test {
125 private:
126 content::TestBrowserThreadBundle thread_bundle_;
127 };
128
129 TEST_F(GaiaOAuthFetcherTest, OAuthGetAccessToken) {
130 const std::string oauth_token =
131 "1/OAuth1-Access_Token-1234567890abcdefghijklm";
132 const std::string oauth_token_secret = "Dont_tell_the_secret-123";
133 const std::string data("oauth_token="
134 "1%2FOAuth1-Access_Token-1234567890abcdefghijklm"
135 "&oauth_token_secret=Dont_tell_the_secret-123");
136
137 MockGaiaOAuthConsumer consumer;
138 EXPECT_CALL(consumer,
139 OnOAuthGetAccessTokenSuccess(oauth_token,
140 oauth_token_secret)).Times(1);
141
142 TestingProfile profile;
143 MockGaiaOAuthFetcher oauth_fetcher(&consumer,
144 profile.GetRequestContext(),
145 "service_scope-JnG18MEE");
146 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH1_ALL_ACCESS_TOKEN);
147 EXPECT_CALL(oauth_fetcher,
148 StartOAuthWrapBridge(oauth_token,
149 oauth_token_secret,
150 "3600",
151 "service_scope-JnG18MEE")).Times(1);
152
153 net::ResponseCookies cookies;
154 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
155 GURL url(GaiaUrls::GetInstance()->oauth_get_access_token_url());
156
157 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher);
158 test_fetcher.set_url(url);
159 test_fetcher.set_status(status);
160 test_fetcher.set_response_code(net::HTTP_OK);
161 test_fetcher.set_cookies(cookies);
162 test_fetcher.SetResponseString(data);
163 oauth_fetcher.OnURLFetchComplete(&test_fetcher);
164 }
165
166 TEST_F(GaiaOAuthFetcherTest, OAuthWrapBridge) {
167 const std::string wrap_token =
168 "1/OAuth2-Access_Token-nopqrstuvwxyz1234567890";
169 const std::string expires_in = "3600";
170
171 const std::string data("wrap_access_token="
172 "1%2FOAuth2-Access_Token-nopqrstuvwxyz1234567890"
173 "&wrap_access_token_expires_in=3600");
174
175 MockGaiaOAuthConsumer consumer;
176 EXPECT_CALL(consumer,
177 OnOAuthWrapBridgeSuccess("service_scope-0fL85iOi",
178 wrap_token,
179 expires_in)).Times(1);
180
181 TestingProfile profile;
182 MockGaiaOAuthFetcher oauth_fetcher(&consumer,
183 profile.GetRequestContext(),
184 "service_scope-0fL85iOi");
185 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_SERVICE_ACCESS_TOKEN);
186 EXPECT_CALL(oauth_fetcher, StartUserInfo(wrap_token)).Times(1);
187
188 net::ResponseCookies cookies;
189 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
190 GURL url(GaiaUrls::GetInstance()->oauth_wrap_bridge_url());
191
192 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher);
193 test_fetcher.set_url(url);
194 test_fetcher.set_status(status);
195 test_fetcher.set_response_code(net::HTTP_OK);
196 test_fetcher.set_cookies(cookies);
197 test_fetcher.SetResponseString(data);
198 oauth_fetcher.OnURLFetchComplete(&test_fetcher);
199 }
200
201 TEST_F(GaiaOAuthFetcherTest, UserInfo) {
202 const std::string email_address = "someone@somewhere.net";
203 const std::string wrap_token =
204 "1/OAuth2-Access_Token-nopqrstuvwxyz1234567890";
205 const std::string expires_in = "3600";
206 const std::string data("{\n \"email\": \"someone@somewhere.net\",\n"
207 " \"verified_email\": true\n}\n");
208 MockGaiaOAuthConsumer consumer;
209 EXPECT_CALL(consumer,
210 OnUserInfoSuccess(email_address)).Times(1);
211
212 TestingProfile profile;
213 MockGaiaOAuthFetcher oauth_fetcher(&consumer,
214 profile.GetRequestContext(),
215 "service_scope-Nrj4LmgU");
216 oauth_fetcher.set_request_type(GaiaOAuthFetcher::USER_INFO);
217
218 net::ResponseCookies cookies;
219 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
220 GURL url(GaiaUrls::GetInstance()->oauth_user_info_url());
221
222 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher);
223 test_fetcher.set_url(url);
224 test_fetcher.set_status(status);
225 test_fetcher.set_response_code(net::HTTP_OK);
226 test_fetcher.set_cookies(cookies);
227 test_fetcher.SetResponseString(data);
228 oauth_fetcher.OnURLFetchComplete(&test_fetcher);
229 }
230
231 TEST_F(GaiaOAuthFetcherTest, OAuthRevokeToken) {
232 const std::string token = "1/OAuth2-Access_Token-nopqrstuvwxyz1234567890";
233 MockGaiaOAuthConsumer consumer;
234 EXPECT_CALL(consumer,
235 OnOAuthRevokeTokenSuccess()).Times(1);
236
237 TestingProfile profile;
238 MockGaiaOAuthFetcher oauth_fetcher(&consumer,
239 profile.GetRequestContext(),
240 "service_scope-Nrj4LmgU");
241 oauth_fetcher.set_request_type(GaiaOAuthFetcher::OAUTH2_REVOKE_TOKEN);
242
243 net::ResponseCookies cookies;
244 net::URLRequestStatus status(net::URLRequestStatus::SUCCESS, 0);
245 GURL url(GaiaUrls::GetInstance()->oauth_revoke_token_url());
246
247 net::TestURLFetcher test_fetcher(0, GURL(), &oauth_fetcher);
248 test_fetcher.set_url(url);
249 test_fetcher.set_status(status);
250 test_fetcher.set_response_code(net::HTTP_OK);
251 test_fetcher.set_cookies(cookies);
252 oauth_fetcher.OnURLFetchComplete(&test_fetcher);
253 }
OLDNEW
« no previous file with comments | « chrome/browser/net/gaia/gaia_oauth_fetcher.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698