Beispiel #1
0
    def test_insert_after(self):
        # Sanity check.
        self.assertEqual(self.small_resolver.available_methods, [
            'boto',
            'config',
        ])

        self.small_resolver.insert_after('boto', credentials.EnvProvider())
        self.assertEqual(self.small_resolver.available_methods, [
            'boto',
            'env',
            'config',
        ])

        self.small_resolver.insert_after('config',
                                         credentials.OriginalEC2Provider())
        self.assertEqual(self.small_resolver.available_methods, [
            'boto',
            'env',
            'config',
            'credentials-file',
        ])

        # Test a failed insert.
        with self.assertRaises(botocore.exceptions.UnknownCredentialError):
            self.small_resolver.insert_after(
                'foobar', credentials.InstanceMetadataProvider())
Beispiel #2
0
 def test_partial_creds_is_an_error(self):
     # If the user provides an access key, they must also
     # provide a secret key.  Not doing so will generate an
     # error.
     environ = {
         'AWS_ACCESS_KEY_ID': 'foo',
         # Missing the AWS_SECRET_ACCESS_KEY
     }
     provider = credentials.EnvProvider(environ)
     with self.assertRaises(botocore.exceptions.PartialCredentialsError):
         provider.load()
Beispiel #3
0
 def test_envvars_are_found_no_token(self):
     environ = {
         'AWS_ACCESS_KEY_ID': 'foo',
         'AWS_SECRET_ACCESS_KEY': 'bar',
     }
     provider = credentials.EnvProvider(environ)
     creds = provider.load()
     self.assertIsNotNone(creds)
     self.assertEqual(creds.access_key, 'foo')
     self.assertEqual(creds.secret_key, 'bar')
     self.assertEqual(creds.method, 'env')
Beispiel #4
0
 def test_can_override_partial_env_var_mapping(self):
     # Only changing the access key mapping.
     # The other 2 use the default values of
     # AWS_SECRET_ACCESS_KEY and AWS_SESSION_TOKEN
     # use our specified env var names.
     environ = {
         'FOO_ACCESS_KEY': 'foo',
         'AWS_SECRET_ACCESS_KEY': 'bar',
         'AWS_SESSION_TOKEN': 'baz',
     }
     provider = credentials.EnvProvider(environ,
                                        {'access_key': 'FOO_ACCESS_KEY'})
     creds = provider.load()
     self.assertEqual(creds.access_key, 'foo')
     self.assertEqual(creds.secret_key, 'bar')
     self.assertEqual(creds.token, 'baz')
Beispiel #5
0
 def test_can_override_env_var_mapping(self):
     # We can change the env var provider to
     # use our specified env var names.
     environ = {
         'FOO_ACCESS_KEY': 'foo',
         'FOO_SECRET_KEY': 'bar',
         'FOO_SESSION_TOKEN': 'baz',
     }
     mapping = {
         'access_key': 'FOO_ACCESS_KEY',
         'secret_key': 'FOO_SECRET_KEY',
         'token': 'FOO_SESSION_TOKEN',
     }
     provider = credentials.EnvProvider(environ, mapping)
     creds = provider.load()
     self.assertEqual(creds.access_key, 'foo')
     self.assertEqual(creds.secret_key, 'bar')
     self.assertEqual(creds.token, 'baz')
Beispiel #6
0
 def test_envvars_not_found(self):
     provider = credentials.EnvProvider(environ={})
     creds = provider.load()
     self.assertIsNone(creds)