def bless_config(): bc = BlessConfig() bc.set_config({ 'REGION_ALIAS': { 'IAD': 'us-east-1', 'SFO': 'us-west-2' }, 'BLESS_CONFIG': { 'ipcachelifetime': 300, 'functionname': 'lyft_bless', 'functionversion': 'PROD-1-2', 'userrole': 'role_bar', 'timeoutconfig': { 'read': 10, 'connect': 5 }, 'certlifetime': 1800, 'accountid': '111111111111' }, 'CLIENT_CONFIG': { 'ip_urls': 'http://api.ipify.org, http://canihazip.com', 'domain_regex': '(i-.*|.*\\.example\\.com|\\A10\\.0(?:\\.[0-9]{1,3}){2}\\Z)$', 'cache_dir': '.aws-mfa/session', 'cache_file': 'bless_cache.json', 'mfa_cache_dir': '.aws-mfa/session', 'mfa_cache_file': 'token_cache.json', 'update_script': 'autoupdate.sh', }, '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' } }, 'VAULT_CONFIG': { 'vault_addr': 'https://vault.example.com:1234', 'auth_mount': 'okta', 'ssh_backend_mount': 'ssh-client-signer', 'ssh_backend_role': 'bless' } }) return bc
def bless_config(): bc = BlessConfig() bc.set_config({ 'REGION_ALIAS': { 'IAD': 'us-east-1', 'SFO': 'us-west-2' }, 'BLESS_CONFIG': { 'ipcachelifetime': 300, 'functionname': 'lyft_bless', 'functionversion': 'PROD-1-2', 'userrole': 'role_bar', 'timeoutconfig': { 'read': 10, 'connect': 5 }, 'certlifetime': 1800, 'accountid': '111111111111' }, 'CLIENT_CONFIG': { 'domain_regex': '(i-.*|.*\\.example\\.com|\\A10\\.0(?:\\.[0-9]{1,3}){2}\\Z)$', 'cache_dir': '.aws-mfa/session', 'cache_file': 'bless_cache.json', 'mfa_cache_dir': '.aws-mfa/session', 'mfa_cache_file': 'token_cache.json', 'update_script': 'autoupdate.sh', }, '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' } } }) return bc
def test_set(): config = BlessConfig() config.set_config({'foo': 'bar'}) assert config.blessconfig['foo'] == 'bar'
def bless_config_test(): configIO = StringIO(BLESS_CONFIG + TEST_CONFIG) config = BlessConfig() config.set_config(config.parse_config_file(configIO)) return config