def test_get_default_from_environment_variable_malformed_file(self): os.environ['SERVER_SOFTWARE'] = '' environment_variable_file = datafile( os.path.join('gcloud', 'credentials_default_malformed_3.json')) os.environ[GOOGLE_CREDENTIALS_DEFAULT] = environment_variable_file # we can't use self.assertRaisesRegexp() because it is only in Python 2.7+ try: GoogleCredentials.get_default() self.fail('An exception was expected!') except DefaultCredentialsError as error: self.assertTrue(str(error).startswith( 'An error was encountered while reading json file: ' + environment_variable_file + ' (pointed to by ' + GOOGLE_CREDENTIALS_DEFAULT + ' environment variable):'))
def test_get_default_from_environment_variable_malformed_file(self): os.environ['SERVER_SOFTWARE'] = '' environment_variable_file = datafile( os.path.join('gcloud', 'credentials_default_malformed_3.json')) os.environ[GOOGLE_CREDENTIALS_DEFAULT] = environment_variable_file # we can't use self.assertRaisesRegexp() because it is only in Python 2.7+ try: GoogleCredentials.get_default() self.fail('An exception was expected!') except DefaultCredentialsError as error: self.assertTrue( str(error).startswith( 'An error was encountered while reading json file: ' + environment_variable_file + ' (pointed to by ' + GOOGLE_CREDENTIALS_DEFAULT + ' environment variable):'))
def test_get_default_from_environment_variable_service_account(self): os.environ['SERVER_SOFTWARE'] = '' environment_variable_file = datafile( os.path.join('gcloud', 'credentials_default.json')) os.environ[GOOGLE_CREDENTIALS_DEFAULT] = environment_variable_file self.validate_service_account_credentials( GoogleCredentials.get_default())
def test_get_default_environment_not_set_up(self): # It is normal for this test to fail if run inside # a Google Compute Engine VM or after 'gcloud auth login' command # has been executed on a non Windows machine. os.environ['SERVER_SOFTWARE'] = '' os.environ[GOOGLE_CREDENTIALS_DEFAULT] = '' os.environ['APPDATA'] = '' # we can't use self.assertRaisesRegexp() because it is only in Python 2.7+ try: GoogleCredentials.get_default() self.fail('An exception was expected!') except DefaultCredentialsError as error: self.assertEqual("The Default Credentials are not available. They are " "available if running in Google App Engine or Google " "Compute Engine. They are also available if using the " "Google Cloud SDK and running 'gcloud auth login'. " "Otherwise, the environment variable " + GOOGLE_CREDENTIALS_DEFAULT + " must be defined pointing " "to a file defining the credentials. See " "https://developers.google.com/accounts/docs/default-" "credentials for details.", str(error))
def test_get_default_environment_not_set_up(self): # It is normal for this test to fail if run inside # a Google Compute Engine VM or after 'gcloud auth login' command # has been executed on a non Windows machine. os.environ['SERVER_SOFTWARE'] = '' os.environ[GOOGLE_CREDENTIALS_DEFAULT] = '' os.environ['APPDATA'] = '' # we can't use self.assertRaisesRegexp() because it is only in Python 2.7+ try: GoogleCredentials.get_default() self.fail('An exception was expected!') except DefaultCredentialsError as error: self.assertEqual( "The Default Credentials are not available. They are " "available if running in Google App Engine or Google " "Compute Engine. They are also available if using the " "Google Cloud SDK and running 'gcloud auth login'. " "Otherwise, the environment variable " + GOOGLE_CREDENTIALS_DEFAULT + " must be defined pointing " "to a file defining the credentials. See " "https://developers.google.com/accounts/docs/default-" "credentials for details.", str(error))
def test_get_default_from_environment_variable_authorized_user(self): os.environ['SERVER_SOFTWARE'] = '' environment_variable_file = datafile( os.path.join('gcloud', 'credentials_default_authorized_user.json')) os.environ[GOOGLE_CREDENTIALS_DEFAULT] = environment_variable_file self.validate_google_credentials(GoogleCredentials.get_default())
# To be used to test GoogleCredential.GetDefaultCredential() # from local machine and GCE. from googleapiclient.discovery import build from oauth2client.client import GoogleCredentials PROJECT = "bamboo-machine-422" # Provide your own GCE project here ZONE = "us-central1-a" # Put here a zone which has some VMs service = build("compute", "v1", credentials=GoogleCredentials.get_default()) request = service.instances().list(project=PROJECT, zone=ZONE) response = request.execute() print response
def get_instances(): service = build("compute", "v1", credentials=GoogleCredentials.get_default()) request = service.instances().list(project=PROJECT, zone=ZONE) return request.execute()