Esempio n. 1
0
def test_read_secrets_shows_vault_vault_error(connect_m):
    '''
    Test read_secrets() gracefully displays vault errors.
    '''
    os.environ['VAULT_ADDR'] = 'https://test.vaultserver'
    connect_m.side_effect = VaultError('Boom!')

    error_message = 'Vault Error: Boom!'
    with pytest.raises(SystemExit, match=error_message):
        vault.read_secrets('test/vault/path')
Esempio n. 2
0
def test_read_secrets_shows_vault_forbidden_error(connect_m):
    '''
    Test read_secrets() gracefully displays vault errors.
    '''
    os.environ['VAULT_ADDR'] = 'https://test.vaultserver'
    connect_m.side_effect = Forbidden('Boom!')

    error_message = (
        'Permission denied. ' +
        'Make sure the token is authorized to access `test/vault/path`.*'
    )
    with pytest.raises(SystemExit, match=error_message):
        vault.read_secrets('test/vault/path')
Esempio n. 3
0
def test_read_secrets_with_no_data(connect_m):
    '''
    Test read_secrets() still returns a dictionary (empty) for response with no data.
    '''
    client = Mock()
    connect_m.return_value = client
    client.read.return_value = {'data': None}

    result = vault.read_secrets('')
    assert result is not None
    assert is_dict(result)
Esempio n. 4
0
def test_read_secrets_with_no_response(connect_m):
    '''
    Test read_secrets() still returns a dictionary (empty) for empty response.
    '''
    client = Mock()
    connect_m.return_value = client
    client.read.return_value = None

    result = vault.read_secrets('')
    assert result is not None
    assert is_dict(result)
Esempio n. 5
0
def test_read_secrets(connect_m):
    '''
    Test read_secrets() returns the secrets loaded from vault.
    '''
    client = Mock()
    connect_m.return_value = client
    client.read.return_value = {
        'auth': None,
        'data': {
            'FOO': 'foo',
            'BAR': 'bar'
        }
    }
    result = vault.read_secrets('test/vault/path')

    client.read.assert_called_with('test/vault/path')
    assert result['FOO'] == 'foo'
    assert result['BAR'] == 'bar'