Skip to content

Commit

Permalink
Add unit tests for explicit profile
Browse files Browse the repository at this point in the history
  • Loading branch information
danielgtaylor committed Mar 17, 2015
1 parent d7cd6d2 commit d17c52d
Showing 1 changed file with 35 additions and 5 deletions.
40 changes: 35 additions & 5 deletions tests/unit/test_credentials.py
Original file line number Diff line number Diff line change
Expand Up @@ -576,20 +576,50 @@ def test_provider_unknown(self):


class TestCreateCredentialResolver(BaseEnvVar):
def test_create_credential_resolver(self):
fake_session = mock.Mock()
config = {
def setUp(self):
super(TestCreateCredentialResolver, self).setUp()

self.session = mock.Mock()
self.config = {
'credentials_file': 'a',
'legacy_config_file': 'b',
'config_file': 'c',
'metadata_service_timeout': 'd',
'metadata_service_num_attempts': 'e',
'profile': 'profilename',
}
fake_session.get_config_variable = lambda x: config[x]
resolver = credentials.create_credential_resolver(fake_session)
self.session.get_config_variable = lambda x: self.config[x]

def test_create_credential_resolver(self):
resolver = credentials.create_credential_resolver(self.session)
self.assertIsInstance(resolver, credentials.CredentialResolver)

def test_explicit_profile_ignores_env_provider(self):
self.config['profile'] = 'dev'
resolver = credentials.create_credential_resolver(self.session)

for provider in resolver.providers:
self.assertNotIsInstance(provider, credentials.EnvProvider)

def test_no_profile_checks_env_provider(self):
self.config['profile'] = None
self.session.profile = None
resolver = credentials.create_credential_resolver(self.session)

found = False
for provider in resolver.providers:
if isinstance(provider, credentials.EnvProvider):
found = True

self.assertTrue(found)

def test_no_profile_env_provider_is_first(self):
self.config['profile'] = None
self.session.profile = None
resolver = credentials.create_credential_resolver(self.session)

self.assertIsInstance(resolver.providers[0], credentials.EnvProvider)


if __name__ == "__main__":
unittest.main()

0 comments on commit d17c52d

Please sign in to comment.