Esempio n. 1
0
 def test_no_boto_config_file_exists(self):
     self.ini_parser.side_effect = botocore.exceptions.ConfigNotFound(
         path='foo')
     provider = credentials.BotoProvider(environ={},
                                         ini_parser=self.ini_parser)
     creds = provider.load()
     self.assertIsNone(creds)
Esempio n. 2
0
 def test_custom_init(self):
     resolver = credentials.CredentialResolver(
         methods=[credentials.BotoProvider(),
                  credentials.ConfigProvider()])
     self.assertEqual(resolver.available_methods, [
         'boto',
         'config',
     ])
     self.assertEqual(len(resolver.methods), 2)
Esempio n. 3
0
 def test_partial_creds_is_error(self):
     ini_parser = mock.Mock()
     ini_parser.return_value = {
         'Credentials': {
             'aws_access_key_id': 'a',
             # Missing aws_secret_access_key.
         }
     }
     provider = credentials.BotoProvider(environ={}, ini_parser=ini_parser)
     with self.assertRaises(botocore.exceptions.PartialCredentialsError):
         provider.load()
Esempio n. 4
0
 def setUp(self):
     super(AlternateCredentialResolverTest, self).setUp()
     self.environ['AWS_CONFIG_FILE'] = path('aws_config')
     self.environ['BOTO_CONFIG'] = ''
     self.session = create_session(session_vars=TESTENVVARS)
     self.small_resolver = credentials.CredentialResolver(
         session=self.session,
         methods=[
             credentials.BotoProvider(),
             credentials.ConfigProvider(session=self.session)
         ])
Esempio n. 5
0
 def setUp(self):
     super(CredentialResolverTest, self).setUp()
     self.environ['AWS_CONFIG_FILE'] = path('aws_config_nocreds')
     self.environ['BOTO_CONFIG'] = ''
     self.environ['AWS_ACCESS_KEY_ID'] = 'foo'
     self.environ['AWS_SECRET_ACCESS_KEY'] = 'bar'
     self.session = create_session(session_vars=TESTENVVARS)
     self.default_resolver = credentials.CredentialResolver(
         session=self.session)
     self.small_resolver = credentials.CredentialResolver(
         session=self.session,
         methods=[credentials.BotoProvider(),
                  credentials.ConfigProvider()])
Esempio n. 6
0
 def test_boto_config_file_exists_in_home_dir(self):
     environ = {}
     self.ini_parser.return_value = {
         'Credentials': {
             # boto's config file does not support a session token
             # so we only test for access_key/secret_key.
             'aws_access_key_id': 'a',
             'aws_secret_access_key': 'b',
         }
     }
     provider = credentials.BotoProvider(environ=environ,
                                         ini_parser=self.ini_parser)
     creds = provider.load()
     self.assertIsNotNone(creds)
     self.assertEqual(creds.access_key, 'a')
     self.assertEqual(creds.secret_key, 'b')
     self.assertIsNone(creds.token)
     self.assertEqual(creds.method, 'boto-config')
Esempio n. 7
0
    def test_env_var_set_for_boto_location(self):
        environ = {'BOTO_CONFIG': 'alternate-config.cfg'}
        self.ini_parser.return_value = {
            'Credentials': {
                # boto's config file does not support a session token
                # so we only test for access_key/secret_key.
                'aws_access_key_id': 'a',
                'aws_secret_access_key': 'b',
            }
        }
        provider = credentials.BotoProvider(environ=environ,
                                            ini_parser=self.ini_parser)
        creds = provider.load()
        self.assertIsNotNone(creds)
        self.assertEqual(creds.access_key, 'a')
        self.assertEqual(creds.secret_key, 'b')
        self.assertIsNone(creds.token)
        self.assertEqual(creds.method, 'boto-config')

        # Assert that the parser was called with the filename specified
        # in the env var.
        self.ini_parser.assert_called_with('alternate-config.cfg')