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
        }
    }
Example #2
0
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
Example #3
0
def test_load_bless_config():
    config = BlessConfig()
    configIO = StringIO(BLESS_CONFIG + TEST_CONFIG)
    conf = config.parse_config_file(configIO)
    assert conf == BASE_EXPECTED_CONF
Example #4
0
def bless_config_test():
    configIO = StringIO(BLESS_CONFIG + TEST_CONFIG)
    config = BlessConfig()
    config.set_config(config.parse_config_file(configIO))
    return config