fix: Pass "Metadata-Flavor" header to metadata server when checking for GCE
This commit is contained in:
parent
464d2650d0
commit
efb9b7897a
|
@ -62,7 +62,8 @@ module Google
|
|||
# is available
|
||||
def on_gce? options = {}
|
||||
c = options[:connection] || Faraday.default_connection
|
||||
resp = c.get COMPUTE_CHECK_URI do |req|
|
||||
headers = { "Metadata-Flavor" => "Google" }
|
||||
resp = c.get COMPUTE_CHECK_URI, nil, headers do |req|
|
||||
# Comment from: oauth2client/client.py
|
||||
#
|
||||
# Note: the explicit `timeout` below is a workaround. The underlying
|
||||
|
|
|
@ -97,6 +97,7 @@ describe Google::Auth::GCECredentials do
|
|||
describe "#on_gce?" do
|
||||
it "should be true when Metadata-Flavor is Google" do
|
||||
stub = stub_request(:get, "http://169.254.169.254")
|
||||
.with(headers: { "Metadata-Flavor" => "Google" })
|
||||
.to_return(status: 200,
|
||||
headers: { "Metadata-Flavor" => "Google" })
|
||||
expect(GCECredentials.on_gce?({}, true)).to eq(true)
|
||||
|
@ -105,6 +106,7 @@ describe Google::Auth::GCECredentials do
|
|||
|
||||
it "should be false when Metadata-Flavor is not Google" do
|
||||
stub = stub_request(:get, "http://169.254.169.254")
|
||||
.with(headers: { "Metadata-Flavor" => "Google" })
|
||||
.to_return(status: 200,
|
||||
headers: { "Metadata-Flavor" => "NotGoogle" })
|
||||
expect(GCECredentials.on_gce?({}, true)).to eq(false)
|
||||
|
@ -113,6 +115,7 @@ describe Google::Auth::GCECredentials do
|
|||
|
||||
it "should be false if the response is not 200" do
|
||||
stub = stub_request(:get, "http://169.254.169.254")
|
||||
.with(headers: { "Metadata-Flavor" => "Google" })
|
||||
.to_return(status: 404,
|
||||
headers: { "Metadata-Flavor" => "NotGoogle" })
|
||||
expect(GCECredentials.on_gce?({}, true)).to eq(false)
|
||||
|
|
Loading…
Reference in New Issue