def test_clean():
    os.environ["KVVERSION"] = "v2"
    copyfile("./tests/test.yaml.dec", "./tests/test.yaml.dec.bak")
    with pytest.raises(FileNotFoundError):
        vault.main(['clean', '-f .tests/test.yaml', '-v'])
    copyfile("./tests/test.yaml.dec.bak", "./tests/test.yaml.dec")
    os.remove("./tests/test.yaml.dec.bak")
Exemple #2
0
def test_dec():
    os.environ["KVVERSION"] = "v2"
    input_values = ["adfs1", "adfs2"]
    output = []

    def mock_input(s):
        output.append(s)
        return input_values.pop(0)
    vault.input = mock_input
    vault.print = lambda s : output.append(s)

    vault.main(['dec', './tests/test.yaml'])

    assert output == [
        'Done Decrypting',
    ]
Exemple #3
0
def test_install():
    os.environ["KVVERSION"] = "v2"
    input_values = []
    output = []

    def mock_input(s):
        output.append(s)
        return input_values.pop(0)
    vault.input = mock_input
    vault.print = lambda  s : output.append(s)

    vault.main(['install', 'stable/nextcloud --name nextcloud --namespace nextcloud -f ../tests/test.yaml --dry-run'])

    assert output == [
        'NAME:   nextcloud',
    ]
Exemple #4
0
def test_enc():
    os.environ["KVVERSION"] = "v2"
    input_values = ["adfs1", "adfs2"]
    output = []

    def mock_input(s):
        output.append(s)
        return input_values.pop(0)

    vault.input = mock_input
    vault.print = lambda s: output.append(s)

    vault.main(['enc', './tests/test.yaml'])

    assert output == [
        'Input a value for /nextcloud/password: '******'Input a value for /mariadb/db/password: ',
    ]
Exemple #5
0
def test_enc_with_env():
    os.environ["KVVERSION"] = "v2"
    input_values = ["adfs1", "adfs2", "adfs3", "adfs4"]
    output = []

    def mock_input(s):
        output.append(s)
        return input_values.pop(0)
    vault.input = mock_input
    vault.print = lambda s : output.append(s)

    vault.main(['enc', './tests/test.yaml', '-e', 'test'])

    assert output == [
        'Input a value for nextcloud.password: '******'Input a value for externalDatabase.user: '******'Input a value for externalDatabase.password: '******'Input a value for mariadb.db.password: ',
    ]
def test_enc_from_file():
    os.environ["KVVERSION"] = "v2"
    vault.main(['enc', './tests/test.yaml', '-s', './tests/test.yaml.dec'])
    assert True  # If it reaches here without error then encoding was a success
def test_refuse_enc_from_file_with_bad_name():
    with pytest.raises(Exception) as e:
        vault.main(['enc', './tests/test.yaml', '-s', './tests/test.yaml.bad'])
        assert "ERROR: Secret file name must end with" in str(e.value)