Esempio n. 1
0
    def setUp(self):
        self.testuser = '******'
        self.account_alias = 'aws-account-alias'
        self.role = 'role'

        self.account_config = {'aws-account-alias': {'id': '123456789'}}
        proxy_logger = logging.getLogger('proxy_logger')
        self.handler = TestHandler()
        proxy_logger.addHandler(self.handler)
        proxy_logger.setLevel(logging.INFO)
        self.proxy = AWSFederationProxy(user=self.testuser,
                                        config=self.config,
                                        account_config=self.account_config,
                                        logger=proxy_logger)

        self.test_access_key = "unencoded string;"
        self.test_secret_key = "another weird string"
        self.test_session_token = "string with special characters %&;?"
        self.credentials = CredentialDict({
            'access_key':
            self.test_access_key,
            'secret_key':
            self.test_secret_key,
            'session_token':
            self.test_session_token
        })
Esempio n. 2
0
 def test_instantiate_provider_with_proper_parameters(self):
     user = "******"
     config = {
         'provider': {
             'module': 'aws_federation_proxy.provider.base_provider',
             'class': 'GroupTestProvider',
             'regex': '(?P<account>.*)-(?P<role>.*)'
         }
     }
     proxy = AWSFederationProxy(user=user, config=config, account_config={})
     provider = proxy.provider
     self.assertEqual(user, provider.user)
     self.assertEqual(proxy.application_config['provider'], provider.config)
     self.assertIs(proxy.logger, provider.logger)
Esempio n. 3
0
def initialize_federation_proxy(user=None):
    """Get needed config parts and initialize AWSFederationProxy"""
    config_path = request.environ.get('CONFIG_PATH')
    if config_path is None:
        raise Exception("No Config Path specified")
    config = yaml_load(config_path)

    try:
        logger = setup_logging(config, logger_name=LOGGER_NAME)
    except Exception as exc:
        raise ConfigurationError(str(exc))

    if user is None:
        user = get_user(config['api']['user_identification'])
    account_config_path = request.environ.get('ACCOUNT_CONFIG_PATH')
    if account_config_path is None:
        raise Exception("No Account Config Path specified")
    account_config = yaml_load(account_config_path)
    proxy = AWSFederationProxy(user=user,
                               config=config,
                               account_config=account_config,
                               logger=logger)
    return proxy