def test__get_gce_credentials_no_compute_engine(): import sys with mock.patch.dict('sys.modules'): sys.modules['google.auth.compute_engine'] = None credentials, project_id = _default._get_gce_credentials() assert credentials is None assert project_id is None
def _get_gce_credentials(request=None): """Gets credentials and project ID from the GCE Metadata Service.""" # Ping requires a transport, but we want application default credentials # to require no arguments. So, we'll use the _http_client transport which # uses http.client. This is only acceptable because the metadata server # doesn't do SSL and never requires proxies. # While this library is normally bundled with compute_engine, there are # some cases where it's not available, so we tolerate ImportError. return _default._get_gce_credentials(request)
def test__get_gce_credentials_explicit_request(ping_mock): _default._get_gce_credentials(mock.sentinel.request) ping_mock.assert_called_with(request=mock.sentinel.request)
def test__get_gce_credentials_no_project_id(get_mock, ping_mock): credentials, project_id = _default._get_gce_credentials() assert isinstance(credentials, compute_engine.Credentials) assert project_id is None
def test__get_gce_credentials_no_ping(ping_mock): credentials, project_id = _default._get_gce_credentials() assert credentials is None assert project_id is None
def test__get_gce_credentials(get_mock, ping_mock): credentials, project_id = _default._get_gce_credentials() assert isinstance(credentials, compute_engine.Credentials) assert project_id == 'example-project'
def test__get_gce_credentials_no_project_id(unused_get, unused_ping): credentials, project_id = _default._get_gce_credentials() assert isinstance(credentials, compute_engine.Credentials) assert project_id is None
def test__get_gce_credentials(unused_get, unused_ping): credentials, project_id = _default._get_gce_credentials() assert isinstance(credentials, compute_engine.Credentials) assert project_id == "example-project"