def test_load_config(): config = BlessConfig() configIO = StringIO(TEST_CONFIG) conf = config.parse_config_file(configIO) assert conf == { 'KMSAUTH_CONFIG_SFO': { 'kmskey': 'abcdefgh-0123-4567-8910-abcdefghijkl', 'awsregion': 'us-west-2', 'context': { 'to': 'bless-production', 'user_type': 'user' } }, 'KMSAUTH_CONFIG_IAD': { 'kmskey': 'zxywvuts-0123-4567-8910-abcdefghijkl', 'awsregion': 'us-east-1', 'context': { 'to': 'bless-production', 'user_type': 'user' } }, 'REGION_ALIAS': { 'IAD': 'us-east-1', 'SFO': 'us-west-2' }, 'BLESS_CONFIG': { 'ipcachelifetime': 60, 'functionname': 'lyft_bless', 'functionversion': 'PROD-1-2', 'userrole': 'use-bless', 'timeoutconfig': { 'read': 10, 'connect': 5 }, 'certlifetime': 120, 'accountid': '111111111111' }, 'AWS_CONFIG': { 'bastion_ips': '10.0.0.0/8,192.168.192.1', 'remote_user': '******' }, 'CLIENT_CONFIG': { 'domain_regex': '(i-.*|.*\\.example\\.com|\\A10\\.0(?:\\.[0-9]{1,3}){2}\\Z)$', 'cache_file': 'bless_cache.json', 'mfa_cache_dir': '.aws-mfa/session', 'cache_dir': '.aws-mfa/session', 'mfa_cache_file': 'token_cache.json', 'ip_urls': ['http://checkip.amazonaws.com', 'http://api.ipify.org'], 'update_script': 'autoupdate.sh', 'user_session_length': 3600, 'usebless_role_session_length': 3600, # comes from BlessConfig.DEFAULT_CONFIG 'update_sshagent': False } }
def test_load_vault_config(): config = BlessConfig() configIO = StringIO(VAULT_CONFIG + TEST_CONFIG) conf = config.parse_config_file(configIO) expectedConf = BASE_EXPECTED_CONF expectedConf['VAULT_CONFIG'] = { 'vault_addr': 'https://vault.example.com:1234', 'auth_mount': 'okta', 'ssh_backend_mount': 'ssh-client-signer', 'ssh_backend_role': 'bless' } expectedConf['BLESS_CONFIG']['ca_backend'] = "hashicorp-vault" assert conf == expectedConf
def test_load_bless_config(): config = BlessConfig() configIO = StringIO(BLESS_CONFIG + TEST_CONFIG) conf = config.parse_config_file(configIO) assert conf == BASE_EXPECTED_CONF
def bless_config_test(): configIO = StringIO(BLESS_CONFIG + TEST_CONFIG) config = BlessConfig() config.set_config(config.parse_config_file(configIO)) return config