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

Side by Side Diff: chrome/browser/managed_mode/managed_user_refresh_token_fetcher_unittest.cc

Issue 23068005: Convert UserPolicySigninService to use OAuth2TokenService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h" 8 #include "chrome/browser/managed_mode/managed_user_refresh_token_fetcher.h"
9 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
9 #include "chrome/browser/signin/oauth2_token_service.h" 10 #include "chrome/browser/signin/oauth2_token_service.h"
10 #include "chrome/test/base/testing_profile.h" 11 #include "chrome/test/base/testing_profile.h"
11 #include "content/public/test/test_browser_thread_bundle.h" 12 #include "content/public/test/test_browser_thread_bundle.h"
12 #include "google_apis/gaia/gaia_oauth_client.h" 13 #include "google_apis/gaia/gaia_oauth_client.h"
13 #include "google_apis/gaia/gaia_urls.h" 14 #include "google_apis/gaia/gaia_urls.h"
14 #include "google_apis/gaia/google_service_auth_error.h" 15 #include "google_apis/gaia/google_service_auth_error.h"
15 #include "net/base/net_errors.h" 16 #include "net/base/net_errors.h"
16 #include "net/base/url_util.h" 17 #include "net/base/url_util.h"
17 #include "net/http/http_request_headers.h" 18 #include "net/http/http_request_headers.h"
18 #include "net/http/http_status_code.h" 19 #include "net/http/http_status_code.h"
19 #include "net/url_request/test_url_fetcher_factory.h" 20 #include "net/url_request/test_url_fetcher_factory.h"
20 #include "net/url_request/url_fetcher_delegate.h" 21 #include "net/url_request/url_fetcher_delegate.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
22 23
23 namespace { 24 namespace {
24 25
25 const char kManagedUserId[] = "abcdef"; 26 const char kManagedUserId[] = "abcdef";
26 const char kDeviceName[] = "Compy"; 27 const char kDeviceName[] = "Compy";
27 28
29 const char kOAuth2RefreshToken[] = "refreshtoken";
28 const char kAccessToken[] = "accesstoken"; 30 const char kAccessToken[] = "accesstoken";
29 const char kAuthorizationCode[] = "authorizationcode"; 31 const char kAuthorizationCode[] = "authorizationcode";
30 const char kManagedUserToken[] = "managedusertoken"; 32 const char kManagedUserToken[] = "managedusertoken";
31 33
32 const char kIssueTokenResponseFormat[] = 34 const char kIssueTokenResponseFormat[] =
33 "{" 35 "{"
34 " \"code\": \"%s\"" 36 " \"code\": \"%s\""
35 "}"; 37 "}";
36 38
37 const char kGetRefreshTokenResponseFormat[] = 39 const char kGetRefreshTokenResponseFormat[] =
38 "{" 40 "{"
39 " \"access_token\": \"<ignored>\"," 41 " \"access_token\": \"<ignored>\","
40 " \"expires_in\": 12345," 42 " \"expires_in\": 12345,"
41 " \"refresh_token\": \"%s\"" 43 " \"refresh_token\": \"%s\""
42 "}"; 44 "}";
43 45
44 // MockOAuth2TokenService ---------------------------------------------
45
46 class MockOAuth2TokenService : public OAuth2TokenService {
47 public:
48 class Request : public OAuth2TokenService::Request {
49 public:
50 Request(const OAuth2TokenService::ScopeSet& scopes,
51 OAuth2TokenService::Consumer* consumer,
52 MockOAuth2TokenService* owner);
53 virtual ~Request();
54
55 void Succeed();
56 void Fail(GoogleServiceAuthError::State error);
57
58 const OAuth2TokenService::ScopeSet& scopes() const { return scopes_; }
59
60 private:
61 OAuth2TokenService::ScopeSet scopes_;
62
63 OAuth2TokenService::Consumer* consumer_;
64
65 MockOAuth2TokenService* owner_;
66 };
67
68 MockOAuth2TokenService();
69 virtual ~MockOAuth2TokenService();
70
71 Request* request() const { return request_; }
72
73 void ClearRequest(Request* request);
74
75 private:
76 // OAuth2TokenService overrides:
77 virtual scoped_ptr<OAuth2TokenService::Request> StartRequest(
78 const OAuth2TokenService::ScopeSet& scopes,
79 OAuth2TokenService::Consumer* consumer) OVERRIDE;
80 virtual std::string GetRefreshToken() OVERRIDE;
81 virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE {
82 return NULL;
83 }
84
85 Request* request_;
86
87 DISALLOW_COPY_AND_ASSIGN(MockOAuth2TokenService);
88 };
89
90 MockOAuth2TokenService::Request::Request(
91 const OAuth2TokenService::ScopeSet& scopes,
92 OAuth2TokenService::Consumer* consumer,
93 MockOAuth2TokenService* owner)
94 : scopes_(scopes),
95 consumer_(consumer),
96 owner_(owner) {}
97
98 MockOAuth2TokenService::Request::~Request() {
99 owner_->ClearRequest(this);
100 }
101
102 void MockOAuth2TokenService::Request::Succeed() {
103 base::Time expiration_date = base::Time::Now() +
104 base::TimeDelta::FromHours(1);
105 consumer_->OnGetTokenSuccess(this, kAccessToken, expiration_date);
106 }
107
108 void MockOAuth2TokenService::Request::Fail(
109 GoogleServiceAuthError::State error) {
110 consumer_->OnGetTokenFailure(this, GoogleServiceAuthError(error));
111 }
112
113 MockOAuth2TokenService::MockOAuth2TokenService() : request_(NULL) {}
114
115 MockOAuth2TokenService::~MockOAuth2TokenService() {
116 EXPECT_FALSE(request_);
117 }
118
119 void MockOAuth2TokenService::ClearRequest(
120 MockOAuth2TokenService::Request* request) {
121 if (request_ == request)
122 request_ = NULL;
123 }
124
125 scoped_ptr<OAuth2TokenService::Request> MockOAuth2TokenService::StartRequest(
126 const OAuth2TokenService::ScopeSet& scopes,
127 OAuth2TokenService::Consumer* consumer) {
128 scoped_ptr<Request> request(new Request(scopes, consumer, this));
129 request_ = request.get();
130 return request.PassAs<OAuth2TokenService::Request>();
131 }
132
133 std::string MockOAuth2TokenService::GetRefreshToken() {
134 NOTREACHED();
135 return std::string();
136 }
137
138 // Utility methods -------------------------------------------------- 46 // Utility methods --------------------------------------------------
139 47
140 // Slightly hacky way to extract a value from a URL-encoded POST request body. 48 // Slightly hacky way to extract a value from a URL-encoded POST request body.
141 bool GetValueForKey(const std::string& encoded_string, 49 bool GetValueForKey(const std::string& encoded_string,
142 const std::string& key, 50 const std::string& key,
143 std::string* value) { 51 std::string* value) {
144 GURL url("http://example.com/?" + encoded_string); 52 GURL url("http://example.com/?" + encoded_string);
145 return net::GetValueForKeyInQuery(url, key, value); 53 return net::GetValueForKeyInQuery(url, key, value);
146 } 54 }
147 55
(...skipping 21 matching lines...) Expand all
169 } // namespace 77 } // namespace
170 78
171 class ManagedUserRefreshTokenFetcherTest : public testing::Test { 79 class ManagedUserRefreshTokenFetcherTest : public testing::Test {
172 public: 80 public:
173 ManagedUserRefreshTokenFetcherTest(); 81 ManagedUserRefreshTokenFetcherTest();
174 virtual ~ManagedUserRefreshTokenFetcherTest() {} 82 virtual ~ManagedUserRefreshTokenFetcherTest() {}
175 83
176 protected: 84 protected:
177 void StartFetching(); 85 void StartFetching();
178 86
179 MockOAuth2TokenService::Request* GetOAuth2TokenServiceRequest();
180 net::TestURLFetcher* GetIssueTokenRequest(); 87 net::TestURLFetcher* GetIssueTokenRequest();
181 net::TestURLFetcher* GetRefreshTokenRequest(); 88 net::TestURLFetcher* GetRefreshTokenRequest();
182 89
90 void MakeOAuth2TokenServiceRequestSucceed();
91 void MakeOAuth2TokenServiceRequestFail(GoogleServiceAuthError::State error);
183 void MakeIssueTokenRequestSucceed(); 92 void MakeIssueTokenRequestSucceed();
184 void MakeRefreshTokenFetchSucceed(); 93 void MakeRefreshTokenFetchSucceed();
185 94
186 void Reset(); 95 void Reset();
187 96
188 const GoogleServiceAuthError& error() const { return error_; } 97 const GoogleServiceAuthError& error() const { return error_; }
189 const std::string& token() const { return token_; } 98 const std::string& token() const { return token_; }
190 99
191 private: 100 private:
192 void OnTokenFetched(const GoogleServiceAuthError& error, 101 void OnTokenFetched(const GoogleServiceAuthError& error,
193 const std::string& token); 102 const std::string& token);
194 103
195 content::TestBrowserThreadBundle thread_bundle_; 104 content::TestBrowserThreadBundle thread_bundle_;
196 TestingProfile profile_; 105 TestingProfile profile_;
197 MockOAuth2TokenService oauth2_token_service_; 106 FakeProfileOAuth2TokenService oauth2_token_service_;
198 net::TestURLFetcherFactory url_fetcher_factory_; 107 net::TestURLFetcherFactory url_fetcher_factory_;
199 scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher_; 108 scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher_;
200 109
201 GoogleServiceAuthError error_; 110 GoogleServiceAuthError error_;
202 std::string token_; 111 std::string token_;
203 base::WeakPtrFactory<ManagedUserRefreshTokenFetcherTest> weak_ptr_factory_; 112 base::WeakPtrFactory<ManagedUserRefreshTokenFetcherTest> weak_ptr_factory_;
204 }; 113 };
205 114
206 ManagedUserRefreshTokenFetcherTest::ManagedUserRefreshTokenFetcherTest() 115 ManagedUserRefreshTokenFetcherTest::ManagedUserRefreshTokenFetcherTest()
207 : token_fetcher_( 116 : token_fetcher_(
208 ManagedUserRefreshTokenFetcher::Create(&oauth2_token_service_, 117 ManagedUserRefreshTokenFetcher::Create(&oauth2_token_service_,
209 profile_.GetRequestContext())), 118 profile_.GetRequestContext())),
210 error_(GoogleServiceAuthError::NONE), 119 error_(GoogleServiceAuthError::NONE),
211 weak_ptr_factory_(this) {} 120 weak_ptr_factory_(this) {}
212 121
213 void ManagedUserRefreshTokenFetcherTest::StartFetching() { 122 void ManagedUserRefreshTokenFetcherTest::StartFetching() {
123 oauth2_token_service_.IssueRefreshToken(kOAuth2RefreshToken);
214 token_fetcher_->Start(kManagedUserId, kDeviceName, 124 token_fetcher_->Start(kManagedUserId, kDeviceName,
215 base::Bind( 125 base::Bind(
216 &ManagedUserRefreshTokenFetcherTest::OnTokenFetched, 126 &ManagedUserRefreshTokenFetcherTest::OnTokenFetched,
217 weak_ptr_factory_.GetWeakPtr())); 127 weak_ptr_factory_.GetWeakPtr()));
218 } 128 }
219 129
220 MockOAuth2TokenService::Request*
221 ManagedUserRefreshTokenFetcherTest::GetOAuth2TokenServiceRequest() {
222 MockOAuth2TokenService::Request* request = oauth2_token_service_.request();
223
224 OAuth2TokenService::ScopeSet scopes = request->scopes();
225 EXPECT_EQ(1u, scopes.size());
226 EXPECT_EQ(1u, scopes.count(GaiaUrls::GetInstance()->oauth1_login_scope()));
227 return request;
228 }
229
230 net::TestURLFetcher* 130 net::TestURLFetcher*
231 ManagedUserRefreshTokenFetcherTest::GetIssueTokenRequest() { 131 ManagedUserRefreshTokenFetcherTest::GetIssueTokenRequest() {
232 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(1); 132 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(1);
233 if (!url_fetcher) 133 if (!url_fetcher)
234 return NULL; 134 return NULL;
235 135
236 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_issue_token_url(), 136 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_issue_token_url(),
237 url_fetcher->GetOriginalURL().spec()); 137 url_fetcher->GetOriginalURL().spec());
238 std::string access_token; 138 std::string access_token;
239 net::HttpRequestHeaders headers; 139 net::HttpRequestHeaders headers;
(...skipping 18 matching lines...) Expand all
258 return NULL; 158 return NULL;
259 159
260 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_token_url(), 160 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_token_url(),
261 url_fetcher->GetOriginalURL().spec()); 161 url_fetcher->GetOriginalURL().spec());
262 std::string auth_code; 162 std::string auth_code;
263 EXPECT_TRUE(GetValueForKey(url_fetcher->upload_data(), "code", &auth_code)); 163 EXPECT_TRUE(GetValueForKey(url_fetcher->upload_data(), "code", &auth_code));
264 EXPECT_EQ(kAuthorizationCode, auth_code); 164 EXPECT_EQ(kAuthorizationCode, auth_code);
265 return url_fetcher; 165 return url_fetcher;
266 } 166 }
267 167
168 void
169 ManagedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestSucceed() {
170 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests =
171 oauth2_token_service_.GetPendingRequests();
172 ASSERT_GE(1u, requests.size());
173 OAuth2TokenService::ScopeSet scopes = requests[0].scopes;
174 EXPECT_EQ(1u, scopes.size());
175 EXPECT_EQ(1u, scopes.count(GaiaUrls::GetInstance()->oauth1_login_scope()));
176 base::Time expiration_date = base::Time::Now() +
177 base::TimeDelta::FromHours(1);
178 oauth2_token_service_.IssueTokenForScope(scopes,
179 kAccessToken,
180 expiration_date);
181 }
182 void
183 ManagedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestFail(
184 GoogleServiceAuthError::State error) {
185 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests =
186 oauth2_token_service_.GetPendingRequests();
187 ASSERT_GE(1u, requests.size());
188 OAuth2TokenService::ScopeSet scopes = requests[0].scopes;
189 EXPECT_EQ(1u, scopes.size());
190 EXPECT_EQ(1u, scopes.count(GaiaUrls::GetInstance()->oauth1_login_scope()));
191 oauth2_token_service_.IssueErrorForScope(scopes,
192 GoogleServiceAuthError(error));
193 }
194
268 void ManagedUserRefreshTokenFetcherTest::MakeIssueTokenRequestSucceed() { 195 void ManagedUserRefreshTokenFetcherTest::MakeIssueTokenRequestSucceed() {
269 SendResponse(GetIssueTokenRequest(), 196 SendResponse(GetIssueTokenRequest(),
270 base::StringPrintf(kIssueTokenResponseFormat, 197 base::StringPrintf(kIssueTokenResponseFormat,
271 kAuthorizationCode)); 198 kAuthorizationCode));
272 } 199 }
273 200
274 void ManagedUserRefreshTokenFetcherTest::MakeRefreshTokenFetchSucceed() { 201 void ManagedUserRefreshTokenFetcherTest::MakeRefreshTokenFetchSucceed() {
275 SendResponse(GetRefreshTokenRequest(), 202 SendResponse(GetRefreshTokenRequest(),
276 base::StringPrintf(kGetRefreshTokenResponseFormat, 203 base::StringPrintf(kGetRefreshTokenResponseFormat,
277 kManagedUserToken)); 204 kManagedUserToken));
278 } 205 }
279 206
280 void ManagedUserRefreshTokenFetcherTest::Reset() { 207 void ManagedUserRefreshTokenFetcherTest::Reset() {
281 token_fetcher_.reset(); 208 token_fetcher_.reset();
282 } 209 }
283 210
284 void ManagedUserRefreshTokenFetcherTest::OnTokenFetched( 211 void ManagedUserRefreshTokenFetcherTest::OnTokenFetched(
285 const GoogleServiceAuthError& error, 212 const GoogleServiceAuthError& error,
286 const std::string& token) { 213 const std::string& token) {
287 error_ = error; 214 error_ = error;
288 token_ = token; 215 token_ = token;
289 } 216 }
290 217
291 // Tests -------------------------------------------------------- 218 // Tests --------------------------------------------------------
292 219
293 TEST_F(ManagedUserRefreshTokenFetcherTest, Success) { 220 TEST_F(ManagedUserRefreshTokenFetcherTest, Success) {
294 StartFetching(); 221 StartFetching();
295 GetOAuth2TokenServiceRequest()->Succeed(); 222 MakeOAuth2TokenServiceRequestSucceed();
296 MakeIssueTokenRequestSucceed(); 223 MakeIssueTokenRequestSucceed();
297 MakeRefreshTokenFetchSucceed(); 224 MakeRefreshTokenFetchSucceed();
298 225
299 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 226 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
300 EXPECT_EQ(kManagedUserToken, token()); 227 EXPECT_EQ(kManagedUserToken, token());
301 } 228 }
302 229
303 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessToken) { 230 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessToken) {
304 StartFetching(); 231 StartFetching();
305 GetOAuth2TokenServiceRequest()->Succeed(); 232 MakeOAuth2TokenServiceRequestSucceed();
306 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); 233 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED);
307 GetOAuth2TokenServiceRequest()->Succeed(); 234 MakeOAuth2TokenServiceRequestSucceed();
308 MakeIssueTokenRequestSucceed(); 235 MakeIssueTokenRequestSucceed();
309 MakeRefreshTokenFetchSucceed(); 236 MakeRefreshTokenFetchSucceed();
310 237
311 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 238 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
312 EXPECT_EQ(kManagedUserToken, token()); 239 EXPECT_EQ(kManagedUserToken, token());
313 } 240 }
314 241
315 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessTokenRetry) { 242 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessTokenRetry) {
316 // If we get a 401 error for the second time, we should give up instead of 243 // If we get a 401 error for the second time, we should give up instead of
317 // retrying again. 244 // retrying again.
318 StartFetching(); 245 StartFetching();
319 GetOAuth2TokenServiceRequest()->Succeed(); 246 MakeOAuth2TokenServiceRequestSucceed();
320 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); 247 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED);
321 GetOAuth2TokenServiceRequest()->Succeed(); 248 MakeOAuth2TokenServiceRequestSucceed();
322 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); 249 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED);
323 250
324 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); 251 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state());
325 EXPECT_EQ(net::ERR_FAILED, error().network_error()); 252 EXPECT_EQ(net::ERR_FAILED, error().network_error());
326 EXPECT_EQ(std::string(), token()); 253 EXPECT_EQ(std::string(), token());
327 } 254 }
328 255
329 TEST_F(ManagedUserRefreshTokenFetcherTest, MalformedIssueTokenResponse) { 256 TEST_F(ManagedUserRefreshTokenFetcherTest, MalformedIssueTokenResponse) {
330 StartFetching(); 257 StartFetching();
331 GetOAuth2TokenServiceRequest()->Succeed(); 258 MakeOAuth2TokenServiceRequestSucceed();
332 SendResponse(GetIssueTokenRequest(), "choke"); 259 SendResponse(GetIssueTokenRequest(), "choke");
333 260
334 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); 261 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state());
335 EXPECT_EQ(net::ERR_INVALID_RESPONSE, error().network_error()); 262 EXPECT_EQ(net::ERR_INVALID_RESPONSE, error().network_error());
336 EXPECT_EQ(std::string(), token()); 263 EXPECT_EQ(std::string(), token());
337 } 264 }
338 265
339 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchAccessTokenFailure) { 266 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchAccessTokenFailure) {
340 StartFetching(); 267 StartFetching();
341 GetOAuth2TokenServiceRequest()->Fail( 268 MakeOAuth2TokenServiceRequestFail(
342 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); 269 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS);
343 270
344 EXPECT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, error().state()); 271 EXPECT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, error().state());
345 EXPECT_EQ(std::string(), token()); 272 EXPECT_EQ(std::string(), token());
346 } 273 }
347 274
348 TEST_F(ManagedUserRefreshTokenFetcherTest, IssueTokenNetworkError) { 275 TEST_F(ManagedUserRefreshTokenFetcherTest, IssueTokenNetworkError) {
349 StartFetching(); 276 StartFetching();
350 GetOAuth2TokenServiceRequest()->Succeed(); 277 MakeOAuth2TokenServiceRequestSucceed();
351 SetNetworkError(GetIssueTokenRequest(), net::ERR_SSL_PROTOCOL_ERROR); 278 SetNetworkError(GetIssueTokenRequest(), net::ERR_SSL_PROTOCOL_ERROR);
352 279
353 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); 280 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state());
354 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, error().network_error()); 281 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, error().network_error());
355 EXPECT_EQ(std::string(), token()); 282 EXPECT_EQ(std::string(), token());
356 } 283 }
357 284
358 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenNetworkError) { 285 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenNetworkError) {
359 StartFetching(); 286 StartFetching();
360 GetOAuth2TokenServiceRequest()->Succeed(); 287 MakeOAuth2TokenServiceRequestSucceed();
361 MakeIssueTokenRequestSucceed(); 288 MakeIssueTokenRequestSucceed();
362 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); 289 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED);
363 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 290 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
364 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); 291 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED);
365 292
366 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); 293 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state());
367 EXPECT_EQ(net::ERR_FAILED, error().network_error()); 294 EXPECT_EQ(net::ERR_FAILED, error().network_error());
368 EXPECT_EQ(std::string(), token()); 295 EXPECT_EQ(std::string(), token());
369 } 296 }
370 297
371 TEST_F(ManagedUserRefreshTokenFetcherTest, 298 TEST_F(ManagedUserRefreshTokenFetcherTest,
372 FetchRefreshTokenTransientNetworkError) { 299 FetchRefreshTokenTransientNetworkError) {
373 StartFetching(); 300 StartFetching();
374 GetOAuth2TokenServiceRequest()->Succeed(); 301 MakeOAuth2TokenServiceRequestSucceed();
375 MakeIssueTokenRequestSucceed(); 302 MakeIssueTokenRequestSucceed();
376 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); 303 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED);
377 304
378 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 305 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
379 MakeRefreshTokenFetchSucceed(); 306 MakeRefreshTokenFetchSucceed();
380 307
381 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 308 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
382 EXPECT_EQ(kManagedUserToken, token()); 309 EXPECT_EQ(kManagedUserToken, token());
383 } 310 }
384 311
385 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenBadRequest) { 312 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenBadRequest) {
386 StartFetching(); 313 StartFetching();
387 GetOAuth2TokenServiceRequest()->Succeed(); 314 MakeOAuth2TokenServiceRequestSucceed();
388 MakeIssueTokenRequestSucceed(); 315 MakeIssueTokenRequestSucceed();
389 SetHttpError(GetRefreshTokenRequest(), net::HTTP_BAD_REQUEST); 316 SetHttpError(GetRefreshTokenRequest(), net::HTTP_BAD_REQUEST);
390 317
391 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); 318 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state());
392 EXPECT_EQ(net::ERR_FAILED, error().network_error()); 319 EXPECT_EQ(net::ERR_FAILED, error().network_error());
393 EXPECT_EQ(std::string(), token()); 320 EXPECT_EQ(std::string(), token());
394 } 321 }
395 322
396 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingAccessToken) { 323 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingAccessToken) {
397 StartFetching(); 324 StartFetching();
398 Reset(); 325 Reset();
399 326
400 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 327 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
401 EXPECT_EQ(std::string(), token()); 328 EXPECT_EQ(std::string(), token());
402 } 329 }
403 330
404 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileCallingIssueToken) { 331 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileCallingIssueToken) {
405 StartFetching(); 332 StartFetching();
406 GetOAuth2TokenServiceRequest()->Succeed(); 333 MakeOAuth2TokenServiceRequestSucceed();
407 Reset(); 334 Reset();
408 335
409 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 336 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
410 EXPECT_EQ(std::string(), token()); 337 EXPECT_EQ(std::string(), token());
411 } 338 }
412 339
413 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingRefreshToken) { 340 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingRefreshToken) {
414 StartFetching(); 341 StartFetching();
415 GetOAuth2TokenServiceRequest()->Succeed(); 342 MakeOAuth2TokenServiceRequestSucceed();
416 MakeIssueTokenRequestSucceed(); 343 MakeIssueTokenRequestSucceed();
417 Reset(); 344 Reset();
418 345
419 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); 346 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state());
420 EXPECT_EQ(std::string(), token()); 347 EXPECT_EQ(std::string(), token());
421 } 348 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698