Use retry_with_error in GCECredentials#fetch_access_token
This commit is contained in:
parent
3014e6ddaf
commit
a1a9387c2b
|
@ -88,6 +88,8 @@ END
|
||||||
def fetch_access_token(options = {})
|
def fetch_access_token(options = {})
|
||||||
c = options[:connection] || Faraday.default_connection
|
c = options[:connection] || Faraday.default_connection
|
||||||
c.headers = { 'Metadata-Flavor' => 'Google' }
|
c.headers = { 'Metadata-Flavor' => 'Google' }
|
||||||
|
|
||||||
|
retry_with_error do
|
||||||
resp = c.get(COMPUTE_AUTH_TOKEN_URI)
|
resp = c.get(COMPUTE_AUTH_TOKEN_URI)
|
||||||
case resp.status
|
case resp.status
|
||||||
when 200
|
when 200
|
||||||
|
@ -103,3 +105,4 @@ END
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -77,6 +77,20 @@ describe Google::Auth::GCECredentials do
|
||||||
.to raise_error Signet::AuthorizationError
|
.to raise_error Signet::AuthorizationError
|
||||||
expect(stub).to have_been_requested
|
expect(stub).to have_been_requested
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'should fail with Signet::AuthorizationError if request times out' do
|
||||||
|
allow_any_instance_of(Faraday::Connection).to receive(:get)
|
||||||
|
.and_raise(Faraday::TimeoutError)
|
||||||
|
expect { @client.fetch_access_token! }
|
||||||
|
.to raise_error Signet::AuthorizationError
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'should fail with Signet::AuthorizationError if request fails' do
|
||||||
|
allow_any_instance_of(Faraday::Connection).to receive(:get)
|
||||||
|
.and_raise(Faraday::ConnectionFailed, nil)
|
||||||
|
expect { @client.fetch_access_token! }
|
||||||
|
.to raise_error Signet::AuthorizationError
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue