def _GetDevshellCreds(): try: return devshell.DevshellCredentials() except devshell.NoDevshellServer: return None except: raise
def test_handles_ignores_extra_fields(self): with _AuthReferenceServer( '["*****@*****.**", "fooproj", "sometoken", 1, "extra"]'): creds = devshell.DevshellCredentials() self.assertEqual('*****@*****.**', creds.user_email) self.assertEqual('fooproj', creds.project_id) self.assertEqual('sometoken', creds.access_token)
def test_handles_skipped_fields(self): with _AuthReferenceServer('["*****@*****.**"]'): creds = devshell.DevshellCredentials() self.assertEqual('*****@*****.**', creds.user_email) self.assertEqual(None, creds.project_id) self.assertEqual(None, creds.access_token) self.assertEqual(None, creds.token_expiry)
def __init__(self, path, config, provider): # Provider here is a boto.provider.Provider object (as opposed to the # provider attribute of CloudApi objects, which is a string). if provider.name != 'google': # Devshell credentials are valid for Google only and can't be used for s3. raise NotReadyToAuthenticate() try: self.creds = devshell.DevshellCredentials() except: raise NotReadyToAuthenticate()
def test_refuses_to_save_to_well_known_file(self): ORIGINAL_ISDIR = os.path.isdir try: os.path.isdir = lambda path: True with _AuthReferenceServer(): creds = devshell.DevshellCredentials() with self.assertRaises(NotImplementedError): client.save_to_well_known_file(creds) finally: os.path.isdir = ORIGINAL_ISDIR
def test_reads_credentials(self, utcnow): NOW = datetime.datetime(1992, 12, 31) utcnow.return_value = NOW with _AuthReferenceServer(): creds = devshell.DevshellCredentials() self.assertEqual('*****@*****.**', creds.user_email) self.assertEqual('fooproj', creds.project_id) self.assertEqual('sometoken', creds.access_token) self.assertEqual(NOW + datetime.timedelta(seconds=EXPIRES_IN), creds.token_expiry) utcnow.assert_called_once_with()
def test_serialization_data(self): with _AuthReferenceServer('[]'): credentials = devshell.DevshellCredentials() with self.assertRaises(NotImplementedError): getattr(credentials, 'serialization_data')
def test_handles_tiny_response(self): with _AuthReferenceServer('[]'): creds = devshell.DevshellCredentials() self.assertEqual(None, creds.user_email) self.assertEqual(None, creds.project_id) self.assertEqual(None, creds.access_token)
def test_no_refresh_token(self): with _AuthReferenceServer(): creds = devshell.DevshellCredentials() self.assertEquals(None, creds.refresh_token)
def test_signals_no_server(self): with self.assertRaises(devshell.NoDevshellServer): devshell.DevshellCredentials()