From bddf8039af31c97eff035b64a582eb26344bc178 Mon Sep 17 00:00:00 2001 From: decentral1se Date: Wed, 3 Sep 2025 09:39:23 +0200 Subject: [PATCH] test: ensure previous versions not deleted See https://git.coopcloud.tech/toolshed/abra/issues/615 --- tests/integration/app_secret.bats | 42 +++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tests/integration/app_secret.bats b/tests/integration/app_secret.bats index 9c5b63e4..9a14ac93 100644 --- a/tests/integration/app_secret.bats +++ b/tests/integration/app_secret.bats @@ -19,11 +19,18 @@ teardown_file(){ _rm_app _rm_server _reset_recipe + + # NOTE(d1): fallback cleanup, not interested in failures here + run docker secret rm "${TEST_APP_DOMAIN}_test_pass_one_v1" + rm -rf "${BATS_TMPFILE}" } setup(){ load "$PWD/tests/integration/helpers/common" _common_setup + + export BATS_TMPFILE="$(mktemp)" + echo MySuperCoolPassword > ${BATS_TMPFILE} } teardown(){ @@ -324,6 +331,41 @@ teardown(){ assert_not_exists "$ABRA_DIR/recipes/$TEST_RECIPE/foo" } +@test "rm: dont remove all versions" { + run sed -i 's/SECRET_TEST_PASS_ONE_VERSION=v1/SECRET_TEST_PASS_ONE_VERSION=v2/g' \ + "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" + assert_success + + run $ABRA app secret generate "$TEST_APP_DOMAIN" --all + assert_success + + run $ABRA app secret ls "$TEST_APP_DOMAIN" + assert_success + assert_output --partial 'test_pass_one_v2' + assert_output --partial 'true' + + run docker secret create "${TEST_APP_DOMAIN}_test_pass_one_v1" "$BATS_TMPFILE" + assert_success + + run docker secret ls + assert_success + assert_output --partial "${TEST_APP_DOMAIN}_test_pass_one_v1" + + run $ABRA app secret rm "$TEST_APP_DOMAIN" --all + assert_success + + run $ABRA app secret ls "$TEST_APP_DOMAIN" + assert_success + assert_output --partial 'false' + + run docker secret ls + assert_success + assert_output --partial "${TEST_APP_DOMAIN}_test_pass_one_v1" + + run docker secret rm "${TEST_APP_DOMAIN}_test_pass_one_v1" + assert_success +} + @test "ls: validate arguments" { run $ABRA app secret ls assert_failure