| 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/strings/stringprintf.h" | 5 #include "base/strings/stringprintf.h" |
| 6 #include "base/threading/platform_thread.h" | 6 #include "base/threading/platform_thread.h" |
| 7 #include "base/time/time.h" | 7 #include "base/time/time.h" |
| 8 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" | 8 #include "chrome/browser/signin/profile_oauth2_token_service_factory.h" |
| 9 #include "chrome/browser/sync/profile_sync_service.h" | 9 #include "chrome/browser/sync/profile_sync_service.h" |
| 10 #include "chrome/browser/sync/test/integration/bookmarks_helper.h" | 10 #include "chrome/browser/sync/test/integration/bookmarks_helper.h" |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 GetFakeServer()->SetUnauthenticated(); | 199 GetFakeServer()->SetUnauthenticated(); |
| 200 DisableTokenFetchRetries(); | 200 DisableTokenFetchRetries(); |
| 201 SetOAuth2TokenResponse(kInvalidGrantOAuth2Token, | 201 SetOAuth2TokenResponse(kInvalidGrantOAuth2Token, |
| 202 net::HTTP_BAD_REQUEST, | 202 net::HTTP_BAD_REQUEST, |
| 203 net::URLRequestStatus::SUCCESS); | 203 net::URLRequestStatus::SUCCESS); |
| 204 ASSERT_TRUE(AttemptToTriggerAuthError()); | 204 ASSERT_TRUE(AttemptToTriggerAuthError()); |
| 205 ASSERT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, | 205 ASSERT_EQ(GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, |
| 206 GetSyncService((0))->GetAuthError().state()); | 206 GetSyncService((0))->GetAuthError().state()); |
| 207 } | 207 } |
| 208 | 208 |
| 209 // Verify that ProfileSyncService ends up with an SERVICE_ERROR auth error when | 209 // Verify that ProfileSyncService retries after SERVICE_ERROR auth error when |
| 210 // an invalid_client error is returned by OAuth2TokenService with an | 210 // an invalid_client error is returned by OAuth2TokenService with an |
| 211 // HTTP_BAD_REQUEST (400) response code. | 211 // HTTP_BAD_REQUEST (400) response code. |
| 212 IN_PROC_BROWSER_TEST_F(SyncAuthTest, InvalidClient) { | 212 IN_PROC_BROWSER_TEST_F(SyncAuthTest, RetryInvalidClient) { |
| 213 ASSERT_TRUE(SetupSync()); | 213 ASSERT_TRUE(SetupSync()); |
| 214 ASSERT_FALSE(AttemptToTriggerAuthError()); | 214 ASSERT_FALSE(AttemptToTriggerAuthError()); |
| 215 GetFakeServer()->SetUnauthenticated(); | 215 GetFakeServer()->SetUnauthenticated(); |
| 216 DisableTokenFetchRetries(); | 216 DisableTokenFetchRetries(); |
| 217 SetOAuth2TokenResponse(kInvalidClientOAuth2Token, | 217 SetOAuth2TokenResponse(kInvalidClientOAuth2Token, |
| 218 net::HTTP_BAD_REQUEST, | 218 net::HTTP_BAD_REQUEST, |
| 219 net::URLRequestStatus::SUCCESS); | 219 net::URLRequestStatus::SUCCESS); |
| 220 ASSERT_TRUE(AttemptToTriggerAuthError()); | 220 ASSERT_TRUE(AttemptToTriggerAuthError()); |
| 221 ASSERT_EQ(GoogleServiceAuthError::SERVICE_ERROR, | 221 ASSERT_TRUE(GetSyncService((0))->IsRetryingAccessTokenFetchForTest()); |
| 222 GetSyncService((0))->GetAuthError().state()); | |
| 223 } | 222 } |
| 224 | 223 |
| 225 // Verify that ProfileSyncService ends up with a REQUEST_CANCELED auth error | 224 // Verify that ProfileSyncService retries after REQUEST_CANCELED auth error |
| 226 // when when OAuth2TokenService has encountered a URLRequestStatus of CANCELED. | 225 // when OAuth2TokenService has encountered a URLRequestStatus of CANCELED. |
| 227 IN_PROC_BROWSER_TEST_F(SyncAuthTest, RequestCanceled) { | 226 IN_PROC_BROWSER_TEST_F(SyncAuthTest, RetryRequestCanceled) { |
| 228 ASSERT_TRUE(SetupSync()); | 227 ASSERT_TRUE(SetupSync()); |
| 229 ASSERT_FALSE(AttemptToTriggerAuthError()); | 228 ASSERT_FALSE(AttemptToTriggerAuthError()); |
| 230 GetFakeServer()->SetUnauthenticated(); | 229 GetFakeServer()->SetUnauthenticated(); |
| 231 DisableTokenFetchRetries(); | 230 DisableTokenFetchRetries(); |
| 232 SetOAuth2TokenResponse(kEmptyOAuth2Token, | 231 SetOAuth2TokenResponse(kEmptyOAuth2Token, |
| 233 net::HTTP_INTERNAL_SERVER_ERROR, | 232 net::HTTP_INTERNAL_SERVER_ERROR, |
| 234 net::URLRequestStatus::CANCELED); | 233 net::URLRequestStatus::CANCELED); |
| 235 ASSERT_TRUE(AttemptToTriggerAuthError()); | 234 ASSERT_TRUE(AttemptToTriggerAuthError()); |
| 236 ASSERT_EQ(GoogleServiceAuthError::REQUEST_CANCELED, | 235 ASSERT_TRUE(GetSyncService((0))->IsRetryingAccessTokenFetchForTest()); |
| 237 GetSyncService((0))->GetAuthError().state()); | |
| 238 } | 236 } |
| 239 | 237 |
| 240 // Verify that ProfileSyncService fails initial sync setup during backend | 238 // Verify that ProfileSyncService fails initial sync setup during backend |
| 241 // initialization and ends up with an INVALID_GAIA_CREDENTIALS auth error when | 239 // initialization and ends up with an INVALID_GAIA_CREDENTIALS auth error when |
| 242 // an invalid_grant error is returned by OAuth2TokenService with an | 240 // an invalid_grant error is returned by OAuth2TokenService with an |
| 243 // HTTP_BAD_REQUEST (400) response code. | 241 // HTTP_BAD_REQUEST (400) response code. |
| 244 IN_PROC_BROWSER_TEST_F(SyncAuthTest, FailInitialSetupWithPersistentError) { | 242 IN_PROC_BROWSER_TEST_F(SyncAuthTest, FailInitialSetupWithPersistentError) { |
| 245 ASSERT_TRUE(SetupClients()); | 243 ASSERT_TRUE(SetupClients()); |
| 246 GetFakeServer()->SetUnauthenticated(); | 244 GetFakeServer()->SetUnauthenticated(); |
| 247 DisableTokenFetchRetries(); | 245 DisableTokenFetchRetries(); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 GetFakeServer()->SetAuthenticated(); | 298 GetFakeServer()->SetAuthenticated(); |
| 301 SetOAuth2TokenResponse(kValidOAuth2Token, | 299 SetOAuth2TokenResponse(kValidOAuth2Token, |
| 302 net::HTTP_OK, | 300 net::HTTP_OK, |
| 303 net::URLRequestStatus::SUCCESS); | 301 net::URLRequestStatus::SUCCESS); |
| 304 | 302 |
| 305 // Verify that the next sync cycle is successful, and uses the new auth token. | 303 // Verify that the next sync cycle is successful, and uses the new auth token. |
| 306 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0)))); | 304 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0)))); |
| 307 std::string new_token = GetSyncService((0))->GetAccessTokenForTest(); | 305 std::string new_token = GetSyncService((0))->GetAccessTokenForTest(); |
| 308 ASSERT_NE(old_token, new_token); | 306 ASSERT_NE(old_token, new_token); |
| 309 } | 307 } |
| OLD | NEW |