ejson2env: add tests

This commit is contained in:
Stanisław Pitucha 2024-05-31 11:05:55 +10:00
parent a57a829e9e
commit 0c66b01048
2 changed files with 27 additions and 2 deletions

View File

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, nix-update-script }:
{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, callPackage, ejson2env }:
buildGoModule rec {
pname = "ejson2env";
@ -19,7 +19,13 @@ buildGoModule rec {
"-X main.version=${version}"
];
passthru.updateScript = nix-update-script { };
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion { package = ejson2env; };
decryption = callPackage ./test-decryption.nix {};
};
};
meta = with lib; {
description = "Decrypt EJSON secrets and export them as environment variables";

View File

@ -0,0 +1,19 @@
{ ejson2env, runCommand }:
runCommand "check-ejson2env.sh" {
nativeBuildInputs = [ ejson2env ];
} ''
cat > $TMP/abc.ejson <<EOF
{
"_public_key": "349a0e027725db0693cf0505344c5104807d38fb398cd4597029dccc8d0d8711",
"environment": {
"foo": "EJ[1:7oqIDkyXLro12rcrg7/psjK5Qcfuw5FRquvfBaRUBic=:OTtncVl0wT4U6UWdxoaCGBRnM2WzGnV3:1FiIgHYT5U6MjFN8IUU83T1fzQ==]"
}
}
EOF
response="$(echo "ff34961809e9d7a0ae20b9d09e5d8630c8d4924cef19cdb5385916b9be019954" | ejson2env --key-from-stdin $TMP/abc.ejson)"
if [[ "$response" != "export foo=bar" ]]; then
echo "test file not decrypted correctly"
exit 1
fi
touch $out
''