From 8f1231e4092ef4c1871b240fb67cdbde0d4595cc Mon Sep 17 00:00:00 2001 From: decentral1se Date: Thu, 21 Sep 2023 11:52:35 +0200 Subject: [PATCH] test: integration test for `abra app upgrade` [ci skip] --- tests/integration/app_upgrade.bats | 49 ++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tests/integration/app_upgrade.bats b/tests/integration/app_upgrade.bats index 8d0b5133..2a660e36 100644 --- a/tests/integration/app_upgrade.bats +++ b/tests/integration/app_upgrade.bats @@ -8,6 +8,7 @@ setup_file(){ } teardown_file(){ + _rm_app _rm_server } @@ -25,3 +26,51 @@ setup(){ assert_failure assert_output --partial 'cannot find app' } + +# bats test_tags=slow +@test "upgrade app" { + latestVersion=$(jq -r '.gitea.versions[-1] | keys[0]' < "$ABRA_DIR/catalogue/recipes.json") + refute [ -z "$latestVersion" ]; + + rollbackVersion=$(jq -r '.gitea.versions[-2] | keys[0]' < "$ABRA_DIR/catalogue/recipes.json") + refute [ -z "$rollbackVersion" ]; + + run $ABRA app new gitea \ + --no-input \ + --server "$TEST_SERVER" \ + --domain "gitea.$TEST_SERVER" \ + --secrets + assert_success + assert_exists "$ABRA_DIR/servers/$TEST_SERVER/gitea.$TEST_SERVER.env" + + run $ABRA app deploy "gitea.$TEST_SERVER" --no-input + assert_success + assert_output --partial "$latestVersion" + + run $ABRA app rollback "gitea.$TEST_SERVER" --no-input + assert_success + assert_output --partial "$rollbackVersion" + + # NOTE(d1): let runtime settle down before upgrade + sleep 5 + + run $ABRA app upgrade "gitea.$TEST_SERVER" --no-input + assert_success + assert_output --partial "$latestVersion" + + run $ABRA app undeploy "gitea.$TEST_SERVER" --no-input + assert_success + + run $ABRA app secret remove "gitea.$TEST_SERVER" --all --no-input + assert_success + + # NOTE(d1): to let the stack come down before nuking volumes + sleep 5 + + run $ABRA app volume remove "gitea.$TEST_SERVER" --no-input + assert_success + + run $ABRA app remove "gitea.$TEST_SERVER" --no-input + assert_success + assert_not_exists "$ABRA_DIR/servers/$TEST_SERVER/gitea.$TEST_SERVER.env" +}