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")
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', ]
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', ]
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: ', ]
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)