Commit 2bbd7cf1 authored by rkjnsn's avatar rkjnsn Committed by Commit bot

Reset pending request type on network error

BUG=629305

Review-Url: https://codereview.chromium.org/2620373003
Cr-Commit-Position: refs/heads/master@{#443288}
parent 3dcbdfb6
...@@ -283,6 +283,7 @@ void GaiaOAuthClient::Core::HandleResponse( ...@@ -283,6 +283,7 @@ void GaiaOAuthClient::Core::HandleResponse(
if ((source->GetMaxRetriesOn5xx() != -1) && if ((source->GetMaxRetriesOn5xx() != -1) &&
(num_retries_ >= source->GetMaxRetriesOn5xx())) { (num_retries_ >= source->GetMaxRetriesOn5xx())) {
// Retry limit reached. Give up. // Retry limit reached. Give up.
request_type_ = NO_PENDING_REQUEST;
delegate_->OnNetworkError(source->GetResponseCode()); delegate_->OnNetworkError(source->GetResponseCode());
} else { } else {
request_ = std::move(old_request); request_ = std::move(old_request);
......
...@@ -299,6 +299,26 @@ TEST_F(GaiaOAuthClientTest, GetTokensSuccess) { ...@@ -299,6 +299,26 @@ TEST_F(GaiaOAuthClientTest, GetTokensSuccess) {
auth.GetTokensFromAuthCode(client_info_, "auth_code", -1, &delegate); auth.GetTokensFromAuthCode(client_info_, "auth_code", -1, &delegate);
} }
TEST_F(GaiaOAuthClientTest, GetTokensAfterNetworkFailure) {
int response_code = net::HTTP_INTERNAL_SERVER_ERROR;
MockGaiaOAuthClientDelegate failure_delegate;
EXPECT_CALL(failure_delegate, OnNetworkError(response_code)).Times(1);
MockGaiaOAuthClientDelegate success_delegate;
EXPECT_CALL(success_delegate, OnGetTokensResponse(kTestRefreshToken,
kTestAccessToken, kTestExpiresIn)).Times(1);
MockOAuthFetcherFactory factory;
factory.set_response_code(response_code);
factory.set_max_failure_count(4);
factory.set_results(kDummyGetTokensResult);
GaiaOAuthClient auth(GetRequestContext());
auth.GetTokensFromAuthCode(client_info_, "auth_code", 2, &failure_delegate);
auth.GetTokensFromAuthCode(client_info_, "auth_code", -1, &success_delegate);
}
TEST_F(GaiaOAuthClientTest, RefreshTokenSuccess) { TEST_F(GaiaOAuthClientTest, RefreshTokenSuccess) {
MockGaiaOAuthClientDelegate delegate; MockGaiaOAuthClientDelegate delegate;
EXPECT_CALL(delegate, OnRefreshTokenResponse(kTestAccessToken, EXPECT_CALL(delegate, OnRefreshTokenResponse(kTestAccessToken,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment