Merge pull request #387 from Galabar001/master

Look at the v1 endpoint for the GCE metadata server.
This commit is contained in:
Nathaniel Manista
2016-02-09 16:58:11 -08:00
2 changed files with 12 additions and 8 deletions

View File

@@ -33,8 +33,8 @@ __author__ = 'jcgregorio@google.com (Joe Gregorio)'
logger = logging.getLogger(__name__)
# URI Template for the endpoint that returns access_tokens.
META = ('http://metadata.google.internal/0.1/meta-data/service-accounts/'
'default/acquire{?scope}')
META = ('http://metadata.google.internal/computeMetadata/v1/instance/'
'service-accounts/default/acquire{?scope}')
class AppAssertionCredentials(AssertionCredentials):
@@ -85,7 +85,8 @@ class AppAssertionCredentials(AssertionCredentials):
"""
query = '?scope=%s' % urllib.parse.quote(self.scope, '')
uri = META.replace('{?scope}', query)
response, content = http_request(uri)
response, content = http_request(
uri, headers={'Metadata-Flavor': 'Google'})
content = _from_bytes(content)
if response.status == http_client.OK:
try:

View File

@@ -67,11 +67,13 @@ class AppAssertionCredentialsTests(unittest.TestCase):
credentials.refresh(http)
self.assertEquals(access_token, credentials.access_token)
base_metadata_uri = ('http://metadata.google.internal/0.1/meta-data/'
'service-accounts/default/acquire')
base_metadata_uri = (
'http://metadata.google.internal/computeMetadata/v1/instance/'
'service-accounts/default/acquire')
escaped_scopes = urllib.parse.quote(' '.join(scopes), safe='')
request_uri = base_metadata_uri + '?scope=' + escaped_scopes
http.request.assert_called_once_with(request_uri)
http.request.assert_called_once_with(
request_uri, headers={'Metadata-Flavor': 'Google'})
def test_refresh_success(self):
self._refresh_success_helper(bytes_response=False)
@@ -159,8 +161,9 @@ class AppAssertionCredentialsTests(unittest.TestCase):
self.assertEqual(None, token.expires_in)
http.request.assert_called_once_with(
'http://metadata.google.internal/0.1/meta-data/service-accounts/'
'default/acquire?scope=dummy_scope')
'http://metadata.google.internal/computeMetadata/v1/instance/'
'service-accounts/default/acquire?scope=dummy_scope',
headers={'Metadata-Flavor': 'Google'})
def test_save_to_well_known_file(self):
import os