OLD | NEW |
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" | |
9 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" | 8 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" |
| 9 #include "chrome/browser/supervised_user/supervised_user_refresh_token_fetcher.h
" |
10 #include "chrome/test/base/testing_profile.h" | 10 #include "chrome/test/base/testing_profile.h" |
11 #include "content/public/test/test_browser_thread_bundle.h" | 11 #include "content/public/test/test_browser_thread_bundle.h" |
12 #include "google_apis/gaia/gaia_constants.h" | 12 #include "google_apis/gaia/gaia_constants.h" |
13 #include "google_apis/gaia/gaia_oauth_client.h" | 13 #include "google_apis/gaia/gaia_oauth_client.h" |
14 #include "google_apis/gaia/gaia_urls.h" | 14 #include "google_apis/gaia/gaia_urls.h" |
15 #include "google_apis/gaia/google_service_auth_error.h" | 15 #include "google_apis/gaia/google_service_auth_error.h" |
16 #include "google_apis/gaia/oauth2_token_service.h" | 16 #include "google_apis/gaia/oauth2_token_service.h" |
17 #include "net/base/net_errors.h" | 17 #include "net/base/net_errors.h" |
18 #include "net/base/url_util.h" | 18 #include "net/base/url_util.h" |
19 #include "net/http/http_request_headers.h" | 19 #include "net/http/http_request_headers.h" |
20 #include "net/http/http_status_code.h" | 20 #include "net/http/http_status_code.h" |
21 #include "net/url_request/test_url_fetcher_factory.h" | 21 #include "net/url_request/test_url_fetcher_factory.h" |
22 #include "net/url_request/url_fetcher_delegate.h" | 22 #include "net/url_request/url_fetcher_delegate.h" |
23 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
24 | 24 |
25 namespace { | 25 namespace { |
26 | 26 |
27 const char kAccountId[] = "account_id"; | 27 const char kAccountId[] = "account_id"; |
28 const char kDeviceName[] = "Compy"; | 28 const char kDeviceName[] = "Compy"; |
29 const char kManagedUserId[] = "abcdef"; | 29 const char kSupervisedUserId[] = "abcdef"; |
30 | 30 |
31 const char kAccessToken[] = "accesstoken"; | 31 const char kAccessToken[] = "accesstoken"; |
32 const char kAuthorizationCode[] = "authorizationcode"; | 32 const char kAuthorizationCode[] = "authorizationcode"; |
33 const char kManagedUserToken[] = "managedusertoken"; | 33 const char kSupervisedUserToken[] = "supervisedusertoken"; |
34 const char kOAuth2RefreshToken[] = "refreshtoken"; | 34 const char kOAuth2RefreshToken[] = "refreshtoken"; |
35 | 35 |
36 const char kIssueTokenResponseFormat[] = | 36 const char kIssueTokenResponseFormat[] = |
37 "{" | 37 "{" |
38 " \"code\": \"%s\"" | 38 " \"code\": \"%s\"" |
39 "}"; | 39 "}"; |
40 | 40 |
41 const char kGetRefreshTokenResponseFormat[] = | 41 const char kGetRefreshTokenResponseFormat[] = |
42 "{" | 42 "{" |
43 " \"access_token\": \"<ignored>\"," | 43 " \"access_token\": \"<ignored>\"," |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 78 |
79 void VerifyTokenRequest( | 79 void VerifyTokenRequest( |
80 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests) { | 80 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests) { |
81 ASSERT_EQ(1u, requests.size()); | 81 ASSERT_EQ(1u, requests.size()); |
82 EXPECT_EQ(1u, requests[0].scopes.size()); | 82 EXPECT_EQ(1u, requests[0].scopes.size()); |
83 EXPECT_EQ(1u, requests[0].scopes.count(GaiaConstants::kOAuth1LoginScope)); | 83 EXPECT_EQ(1u, requests[0].scopes.count(GaiaConstants::kOAuth1LoginScope)); |
84 } | 84 } |
85 | 85 |
86 } // namespace | 86 } // namespace |
87 | 87 |
88 class ManagedUserRefreshTokenFetcherTest : public testing::Test { | 88 class SupervisedUserRefreshTokenFetcherTest : public testing::Test { |
89 public: | 89 public: |
90 ManagedUserRefreshTokenFetcherTest(); | 90 SupervisedUserRefreshTokenFetcherTest(); |
91 virtual ~ManagedUserRefreshTokenFetcherTest() {} | 91 virtual ~SupervisedUserRefreshTokenFetcherTest() {} |
92 | 92 |
93 protected: | 93 protected: |
94 void StartFetching(); | 94 void StartFetching(); |
95 | 95 |
96 net::TestURLFetcher* GetIssueTokenRequest(); | 96 net::TestURLFetcher* GetIssueTokenRequest(); |
97 net::TestURLFetcher* GetRefreshTokenRequest(); | 97 net::TestURLFetcher* GetRefreshTokenRequest(); |
98 | 98 |
99 void MakeOAuth2TokenServiceRequestSucceed(); | 99 void MakeOAuth2TokenServiceRequestSucceed(); |
100 void MakeOAuth2TokenServiceRequestFail(GoogleServiceAuthError::State error); | 100 void MakeOAuth2TokenServiceRequestFail(GoogleServiceAuthError::State error); |
101 void MakeIssueTokenRequestSucceed(); | 101 void MakeIssueTokenRequestSucceed(); |
102 void MakeRefreshTokenFetchSucceed(); | 102 void MakeRefreshTokenFetchSucceed(); |
103 | 103 |
104 void Reset(); | 104 void Reset(); |
105 | 105 |
106 const GoogleServiceAuthError& error() const { return error_; } | 106 const GoogleServiceAuthError& error() const { return error_; } |
107 const std::string& token() const { return token_; } | 107 const std::string& token() const { return token_; } |
108 | 108 |
109 private: | 109 private: |
110 void OnTokenFetched(const GoogleServiceAuthError& error, | 110 void OnTokenFetched(const GoogleServiceAuthError& error, |
111 const std::string& token); | 111 const std::string& token); |
112 | 112 |
113 content::TestBrowserThreadBundle thread_bundle_; | 113 content::TestBrowserThreadBundle thread_bundle_; |
114 TestingProfile profile_; | 114 TestingProfile profile_; |
115 FakeProfileOAuth2TokenService oauth2_token_service_; | 115 FakeProfileOAuth2TokenService oauth2_token_service_; |
116 net::TestURLFetcherFactory url_fetcher_factory_; | 116 net::TestURLFetcherFactory url_fetcher_factory_; |
117 scoped_ptr<ManagedUserRefreshTokenFetcher> token_fetcher_; | 117 scoped_ptr<SupervisedUserRefreshTokenFetcher> token_fetcher_; |
118 | 118 |
119 GoogleServiceAuthError error_; | 119 GoogleServiceAuthError error_; |
120 std::string token_; | 120 std::string token_; |
121 base::WeakPtrFactory<ManagedUserRefreshTokenFetcherTest> weak_ptr_factory_; | 121 base::WeakPtrFactory<SupervisedUserRefreshTokenFetcherTest> weak_ptr_factory_; |
122 }; | 122 }; |
123 | 123 |
124 ManagedUserRefreshTokenFetcherTest::ManagedUserRefreshTokenFetcherTest() | 124 SupervisedUserRefreshTokenFetcherTest::SupervisedUserRefreshTokenFetcherTest() |
125 : token_fetcher_( | 125 : token_fetcher_(SupervisedUserRefreshTokenFetcher::Create( |
126 ManagedUserRefreshTokenFetcher::Create(&oauth2_token_service_, | 126 &oauth2_token_service_, |
127 kAccountId, | 127 kAccountId, |
128 profile_.GetRequestContext())), | 128 profile_.GetRequestContext())), |
129 error_(GoogleServiceAuthError::NONE), | 129 error_(GoogleServiceAuthError::NONE), |
130 weak_ptr_factory_(this) {} | 130 weak_ptr_factory_(this) {} |
131 | 131 |
132 void ManagedUserRefreshTokenFetcherTest::StartFetching() { | 132 void SupervisedUserRefreshTokenFetcherTest::StartFetching() { |
133 oauth2_token_service_.IssueRefreshToken(kOAuth2RefreshToken); | 133 oauth2_token_service_.IssueRefreshToken(kOAuth2RefreshToken); |
134 token_fetcher_->Start(kManagedUserId, kDeviceName, | 134 token_fetcher_->Start( |
135 base::Bind( | 135 kSupervisedUserId, |
136 &ManagedUserRefreshTokenFetcherTest::OnTokenFetched, | 136 kDeviceName, |
137 weak_ptr_factory_.GetWeakPtr())); | 137 base::Bind( |
| 138 &SupervisedUserRefreshTokenFetcherTest::OnTokenFetched, |
| 139 weak_ptr_factory_.GetWeakPtr())); |
138 } | 140 } |
139 | 141 |
140 net::TestURLFetcher* | 142 net::TestURLFetcher* |
141 ManagedUserRefreshTokenFetcherTest::GetIssueTokenRequest() { | 143 SupervisedUserRefreshTokenFetcherTest::GetIssueTokenRequest() { |
142 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(1); | 144 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID(1); |
143 if (!url_fetcher) | 145 if (!url_fetcher) |
144 return NULL; | 146 return NULL; |
145 | 147 |
146 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_issue_token_url(), | 148 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_issue_token_url(), |
147 url_fetcher->GetOriginalURL()); | 149 url_fetcher->GetOriginalURL()); |
148 std::string access_token; | 150 std::string access_token; |
149 net::HttpRequestHeaders headers; | 151 net::HttpRequestHeaders headers; |
150 url_fetcher->GetExtraRequestHeaders(&headers); | 152 url_fetcher->GetExtraRequestHeaders(&headers); |
151 EXPECT_TRUE(headers.GetHeader("Authorization", &access_token)); | 153 EXPECT_TRUE(headers.GetHeader("Authorization", &access_token)); |
152 EXPECT_EQ(std::string("Bearer ") + kAccessToken, access_token); | 154 EXPECT_EQ(std::string("Bearer ") + kAccessToken, access_token); |
153 const std::string upload_data = url_fetcher->upload_data(); | 155 const std::string upload_data = url_fetcher->upload_data(); |
154 std::string managed_user_id; | 156 std::string supervised_user_id; |
155 EXPECT_TRUE(GetValueForKey(upload_data, "profile_id", &managed_user_id)); | 157 EXPECT_TRUE(GetValueForKey(upload_data, "profile_id", &supervised_user_id)); |
156 EXPECT_EQ(kManagedUserId, managed_user_id); | 158 EXPECT_EQ(kSupervisedUserId, supervised_user_id); |
157 std::string device_name; | 159 std::string device_name; |
158 EXPECT_TRUE(GetValueForKey(upload_data, "device_name", &device_name)); | 160 EXPECT_TRUE(GetValueForKey(upload_data, "device_name", &device_name)); |
159 EXPECT_EQ(kDeviceName, device_name); | 161 EXPECT_EQ(kDeviceName, device_name); |
160 return url_fetcher; | 162 return url_fetcher; |
161 } | 163 } |
162 | 164 |
163 net::TestURLFetcher* | 165 net::TestURLFetcher* |
164 ManagedUserRefreshTokenFetcherTest::GetRefreshTokenRequest() { | 166 SupervisedUserRefreshTokenFetcherTest::GetRefreshTokenRequest() { |
165 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID( | 167 net::TestURLFetcher* url_fetcher = url_fetcher_factory_.GetFetcherByID( |
166 gaia::GaiaOAuthClient::kUrlFetcherId); | 168 gaia::GaiaOAuthClient::kUrlFetcherId); |
167 if (!url_fetcher) | 169 if (!url_fetcher) |
168 return NULL; | 170 return NULL; |
169 | 171 |
170 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_token_url(), | 172 EXPECT_EQ(GaiaUrls::GetInstance()->oauth2_token_url(), |
171 url_fetcher->GetOriginalURL()); | 173 url_fetcher->GetOriginalURL()); |
172 std::string auth_code; | 174 std::string auth_code; |
173 EXPECT_TRUE(GetValueForKey(url_fetcher->upload_data(), "code", &auth_code)); | 175 EXPECT_TRUE(GetValueForKey(url_fetcher->upload_data(), "code", &auth_code)); |
174 EXPECT_EQ(kAuthorizationCode, auth_code); | 176 EXPECT_EQ(kAuthorizationCode, auth_code); |
175 return url_fetcher; | 177 return url_fetcher; |
176 } | 178 } |
177 | 179 |
178 void | 180 void |
179 ManagedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestSucceed() { | 181 SupervisedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestSucceed() { |
180 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests = | 182 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests = |
181 oauth2_token_service_.GetPendingRequests(); | 183 oauth2_token_service_.GetPendingRequests(); |
182 VerifyTokenRequest(requests); | 184 VerifyTokenRequest(requests); |
183 base::Time expiration_date = base::Time::Now() + | 185 base::Time expiration_date = base::Time::Now() + |
184 base::TimeDelta::FromHours(1); | 186 base::TimeDelta::FromHours(1); |
185 oauth2_token_service_.IssueTokenForScope(requests[0].scopes, | 187 oauth2_token_service_.IssueTokenForScope(requests[0].scopes, |
186 kAccessToken, | 188 kAccessToken, |
187 expiration_date); | 189 expiration_date); |
188 } | 190 } |
189 | 191 |
190 void | 192 void |
191 ManagedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestFail( | 193 SupervisedUserRefreshTokenFetcherTest::MakeOAuth2TokenServiceRequestFail( |
192 GoogleServiceAuthError::State error) { | 194 GoogleServiceAuthError::State error) { |
193 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests = | 195 std::vector<FakeProfileOAuth2TokenService::PendingRequest> requests = |
194 oauth2_token_service_.GetPendingRequests(); | 196 oauth2_token_service_.GetPendingRequests(); |
195 VerifyTokenRequest(requests); | 197 VerifyTokenRequest(requests); |
196 oauth2_token_service_.IssueErrorForScope(requests[0].scopes, | 198 oauth2_token_service_.IssueErrorForScope(requests[0].scopes, |
197 GoogleServiceAuthError(error)); | 199 GoogleServiceAuthError(error)); |
198 } | 200 } |
199 | 201 |
200 void ManagedUserRefreshTokenFetcherTest::MakeIssueTokenRequestSucceed() { | 202 void SupervisedUserRefreshTokenFetcherTest::MakeIssueTokenRequestSucceed() { |
201 SendResponse(GetIssueTokenRequest(), | 203 SendResponse(GetIssueTokenRequest(), |
202 base::StringPrintf(kIssueTokenResponseFormat, | 204 base::StringPrintf(kIssueTokenResponseFormat, |
203 kAuthorizationCode)); | 205 kAuthorizationCode)); |
204 } | 206 } |
205 | 207 |
206 void ManagedUserRefreshTokenFetcherTest::MakeRefreshTokenFetchSucceed() { | 208 void SupervisedUserRefreshTokenFetcherTest::MakeRefreshTokenFetchSucceed() { |
207 SendResponse(GetRefreshTokenRequest(), | 209 SendResponse(GetRefreshTokenRequest(), |
208 base::StringPrintf(kGetRefreshTokenResponseFormat, | 210 base::StringPrintf(kGetRefreshTokenResponseFormat, |
209 kManagedUserToken)); | 211 kSupervisedUserToken)); |
210 } | 212 } |
211 | 213 |
212 void ManagedUserRefreshTokenFetcherTest::Reset() { | 214 void SupervisedUserRefreshTokenFetcherTest::Reset() { |
213 token_fetcher_.reset(); | 215 token_fetcher_.reset(); |
214 } | 216 } |
215 | 217 |
216 void ManagedUserRefreshTokenFetcherTest::OnTokenFetched( | 218 void SupervisedUserRefreshTokenFetcherTest::OnTokenFetched( |
217 const GoogleServiceAuthError& error, | 219 const GoogleServiceAuthError& error, |
218 const std::string& token) { | 220 const std::string& token) { |
219 error_ = error; | 221 error_ = error; |
220 token_ = token; | 222 token_ = token; |
221 } | 223 } |
222 | 224 |
223 // Tests -------------------------------------------------------- | 225 // Tests -------------------------------------------------------- |
224 | 226 |
225 TEST_F(ManagedUserRefreshTokenFetcherTest, Success) { | 227 TEST_F(SupervisedUserRefreshTokenFetcherTest, Success) { |
226 StartFetching(); | 228 StartFetching(); |
227 MakeOAuth2TokenServiceRequestSucceed(); | 229 MakeOAuth2TokenServiceRequestSucceed(); |
228 MakeIssueTokenRequestSucceed(); | 230 MakeIssueTokenRequestSucceed(); |
229 MakeRefreshTokenFetchSucceed(); | 231 MakeRefreshTokenFetchSucceed(); |
230 | 232 |
231 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 233 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
232 EXPECT_EQ(kManagedUserToken, token()); | 234 EXPECT_EQ(kSupervisedUserToken, token()); |
233 } | 235 } |
234 | 236 |
235 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessToken) { | 237 TEST_F(SupervisedUserRefreshTokenFetcherTest, ExpiredAccessToken) { |
236 StartFetching(); | 238 StartFetching(); |
237 MakeOAuth2TokenServiceRequestSucceed(); | 239 MakeOAuth2TokenServiceRequestSucceed(); |
238 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); | 240 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); |
239 MakeOAuth2TokenServiceRequestSucceed(); | 241 MakeOAuth2TokenServiceRequestSucceed(); |
240 MakeIssueTokenRequestSucceed(); | 242 MakeIssueTokenRequestSucceed(); |
241 MakeRefreshTokenFetchSucceed(); | 243 MakeRefreshTokenFetchSucceed(); |
242 | 244 |
243 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 245 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
244 EXPECT_EQ(kManagedUserToken, token()); | 246 EXPECT_EQ(kSupervisedUserToken, token()); |
245 } | 247 } |
246 | 248 |
247 TEST_F(ManagedUserRefreshTokenFetcherTest, ExpiredAccessTokenRetry) { | 249 TEST_F(SupervisedUserRefreshTokenFetcherTest, ExpiredAccessTokenRetry) { |
248 // If we get a 401 error for the second time, we should give up instead of | 250 // If we get a 401 error for the second time, we should give up instead of |
249 // retrying again. | 251 // retrying again. |
250 StartFetching(); | 252 StartFetching(); |
251 MakeOAuth2TokenServiceRequestSucceed(); | 253 MakeOAuth2TokenServiceRequestSucceed(); |
252 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); | 254 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); |
253 MakeOAuth2TokenServiceRequestSucceed(); | 255 MakeOAuth2TokenServiceRequestSucceed(); |
254 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); | 256 SetHttpError(GetIssueTokenRequest(), net::HTTP_UNAUTHORIZED); |
255 | 257 |
256 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); | 258 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); |
257 EXPECT_EQ(net::ERR_FAILED, error().network_error()); | 259 EXPECT_EQ(net::ERR_FAILED, error().network_error()); |
258 EXPECT_EQ(std::string(), token()); | 260 EXPECT_EQ(std::string(), token()); |
259 } | 261 } |
260 | 262 |
261 TEST_F(ManagedUserRefreshTokenFetcherTest, MalformedIssueTokenResponse) { | 263 TEST_F(SupervisedUserRefreshTokenFetcherTest, MalformedIssueTokenResponse) { |
262 StartFetching(); | 264 StartFetching(); |
263 MakeOAuth2TokenServiceRequestSucceed(); | 265 MakeOAuth2TokenServiceRequestSucceed(); |
264 SendResponse(GetIssueTokenRequest(), "choke"); | 266 SendResponse(GetIssueTokenRequest(), "choke"); |
265 | 267 |
266 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); | 268 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); |
267 EXPECT_EQ(net::ERR_INVALID_RESPONSE, error().network_error()); | 269 EXPECT_EQ(net::ERR_INVALID_RESPONSE, error().network_error()); |
268 EXPECT_EQ(std::string(), token()); | 270 EXPECT_EQ(std::string(), token()); |
269 } | 271 } |
270 | 272 |
271 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchAccessTokenFailure) { | 273 TEST_F(SupervisedUserRefreshTokenFetcherTest, FetchAccessTokenFailure) { |
272 StartFetching(); | 274 StartFetching(); |
273 MakeOAuth2TokenServiceRequestFail( | 275 MakeOAuth2TokenServiceRequestFail( |
274 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); | 276 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS); |
275 | 277 |
276 EXPECT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, error().state()); | 278 EXPECT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, error().state()); |
277 EXPECT_EQ(std::string(), token()); | 279 EXPECT_EQ(std::string(), token()); |
278 } | 280 } |
279 | 281 |
280 TEST_F(ManagedUserRefreshTokenFetcherTest, IssueTokenNetworkError) { | 282 TEST_F(SupervisedUserRefreshTokenFetcherTest, IssueTokenNetworkError) { |
281 StartFetching(); | 283 StartFetching(); |
282 MakeOAuth2TokenServiceRequestSucceed(); | 284 MakeOAuth2TokenServiceRequestSucceed(); |
283 SetNetworkError(GetIssueTokenRequest(), net::ERR_SSL_PROTOCOL_ERROR); | 285 SetNetworkError(GetIssueTokenRequest(), net::ERR_SSL_PROTOCOL_ERROR); |
284 | 286 |
285 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); | 287 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); |
286 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, error().network_error()); | 288 EXPECT_EQ(net::ERR_SSL_PROTOCOL_ERROR, error().network_error()); |
287 EXPECT_EQ(std::string(), token()); | 289 EXPECT_EQ(std::string(), token()); |
288 } | 290 } |
289 | 291 |
290 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenNetworkError) { | 292 TEST_F(SupervisedUserRefreshTokenFetcherTest, FetchRefreshTokenNetworkError) { |
291 StartFetching(); | 293 StartFetching(); |
292 MakeOAuth2TokenServiceRequestSucceed(); | 294 MakeOAuth2TokenServiceRequestSucceed(); |
293 MakeIssueTokenRequestSucceed(); | 295 MakeIssueTokenRequestSucceed(); |
294 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); | 296 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); |
295 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 297 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
296 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); | 298 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); |
297 | 299 |
298 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); | 300 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); |
299 EXPECT_EQ(net::ERR_FAILED, error().network_error()); | 301 EXPECT_EQ(net::ERR_FAILED, error().network_error()); |
300 EXPECT_EQ(std::string(), token()); | 302 EXPECT_EQ(std::string(), token()); |
301 } | 303 } |
302 | 304 |
303 TEST_F(ManagedUserRefreshTokenFetcherTest, | 305 TEST_F(SupervisedUserRefreshTokenFetcherTest, |
304 FetchRefreshTokenTransientNetworkError) { | 306 FetchRefreshTokenTransientNetworkError) { |
305 StartFetching(); | 307 StartFetching(); |
306 MakeOAuth2TokenServiceRequestSucceed(); | 308 MakeOAuth2TokenServiceRequestSucceed(); |
307 MakeIssueTokenRequestSucceed(); | 309 MakeIssueTokenRequestSucceed(); |
308 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); | 310 SetNetworkError(GetRefreshTokenRequest(), net::ERR_CONNECTION_REFUSED); |
309 | 311 |
310 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 312 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
311 MakeRefreshTokenFetchSucceed(); | 313 MakeRefreshTokenFetchSucceed(); |
312 | 314 |
313 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 315 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
314 EXPECT_EQ(kManagedUserToken, token()); | 316 EXPECT_EQ(kSupervisedUserToken, token()); |
315 } | 317 } |
316 | 318 |
317 TEST_F(ManagedUserRefreshTokenFetcherTest, FetchRefreshTokenBadRequest) { | 319 TEST_F(SupervisedUserRefreshTokenFetcherTest, FetchRefreshTokenBadRequest) { |
318 StartFetching(); | 320 StartFetching(); |
319 MakeOAuth2TokenServiceRequestSucceed(); | 321 MakeOAuth2TokenServiceRequestSucceed(); |
320 MakeIssueTokenRequestSucceed(); | 322 MakeIssueTokenRequestSucceed(); |
321 SetHttpError(GetRefreshTokenRequest(), net::HTTP_BAD_REQUEST); | 323 SetHttpError(GetRefreshTokenRequest(), net::HTTP_BAD_REQUEST); |
322 | 324 |
323 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); | 325 EXPECT_EQ(GoogleServiceAuthError::CONNECTION_FAILED, error().state()); |
324 EXPECT_EQ(net::ERR_FAILED, error().network_error()); | 326 EXPECT_EQ(net::ERR_FAILED, error().network_error()); |
325 EXPECT_EQ(std::string(), token()); | 327 EXPECT_EQ(std::string(), token()); |
326 } | 328 } |
327 | 329 |
328 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingAccessToken) { | 330 TEST_F(SupervisedUserRefreshTokenFetcherTest, CancelWhileFetchingAccessToken) { |
329 StartFetching(); | 331 StartFetching(); |
330 Reset(); | 332 Reset(); |
331 | 333 |
332 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 334 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
333 EXPECT_EQ(std::string(), token()); | 335 EXPECT_EQ(std::string(), token()); |
334 } | 336 } |
335 | 337 |
336 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileCallingIssueToken) { | 338 TEST_F(SupervisedUserRefreshTokenFetcherTest, CancelWhileCallingIssueToken) { |
337 StartFetching(); | 339 StartFetching(); |
338 MakeOAuth2TokenServiceRequestSucceed(); | 340 MakeOAuth2TokenServiceRequestSucceed(); |
339 Reset(); | 341 Reset(); |
340 | 342 |
341 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 343 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
342 EXPECT_EQ(std::string(), token()); | 344 EXPECT_EQ(std::string(), token()); |
343 } | 345 } |
344 | 346 |
345 TEST_F(ManagedUserRefreshTokenFetcherTest, CancelWhileFetchingRefreshToken) { | 347 TEST_F(SupervisedUserRefreshTokenFetcherTest, CancelWhileFetchingRefreshToken) { |
346 StartFetching(); | 348 StartFetching(); |
347 MakeOAuth2TokenServiceRequestSucceed(); | 349 MakeOAuth2TokenServiceRequestSucceed(); |
348 MakeIssueTokenRequestSucceed(); | 350 MakeIssueTokenRequestSucceed(); |
349 Reset(); | 351 Reset(); |
350 | 352 |
351 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); | 353 EXPECT_EQ(GoogleServiceAuthError::NONE, error().state()); |
352 EXPECT_EQ(std::string(), token()); | 354 EXPECT_EQ(std::string(), token()); |
353 } | 355 } |
OLD | NEW |