From f46c18c8d73b2cca41b78dc8debed6e1efb103fe Mon Sep 17 00:00:00 2001 From: decentral1se Date: Mon, 18 Aug 2025 08:23:06 +0200 Subject: [PATCH] fix: warn on unknown server See https://git.coopcloud.tech/toolshed/abra/issues/581 --- pkg/app/app.go | 4 +++- tests/integration/app_list.bats | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/pkg/app/app.go b/pkg/app/app.go index 4b263deb4..f7b7f27fe 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -426,7 +426,9 @@ func GetAppStatuses(apps []App, MachineReadable bool) (map[string]map[string]str for server := range servers { cl, err := client.New(server) if err != nil { - return statuses, err + log.Warn(err) + ch <- stack.StackStatus{} + continue } go func(s string) { diff --git a/tests/integration/app_list.bats b/tests/integration/app_list.bats index b3f1034bd..1b85f2b09 100644 --- a/tests/integration/app_list.bats +++ b/tests/integration/app_list.bats @@ -11,6 +11,12 @@ teardown_file(){ _undeploy_app _rm_app _rm_server + + if [[ -d "$ABRA_DIR/servers/foo" ]]; then + run rm -rf "$ABRA_DIR/servers/foo" + assert_success + assert_not_exists "$ABRA_DIR/servers/foo" + fi } setup(){ @@ -21,6 +27,12 @@ setup(){ teardown(){ _reset_recipe _undeploy_app + + if [[ -d "$ABRA_DIR/servers/foo" ]]; then + run rm -rf "$ABRA_DIR/servers/foo" + assert_success + assert_not_exists "$ABRA_DIR/servers/foo" + fi } @test "list without status" { @@ -137,3 +149,20 @@ teardown(){ assert_success assert_not_exists "$ABRA_DIR/servers/foo.com" } + +@test "list with status skips unknown servers" { + if [[ ! -d "$ABRA_DIR/servers/foo" ]]; then + run mkdir -p "$ABRA_DIR/servers/foo" + assert_success + assert_exists "$ABRA_DIR/servers/foo" + + run cp "$ABRA_DIR/servers/$TEST_SERVER/$TEST_APP_DOMAIN.env" \ + "$ABRA_DIR/servers/foo/$TEST_APP_DOMAIN.env" + assert_success + assert_exists "$ABRA_DIR/servers/foo/$TEST_APP_DOMAIN.env" + fi + + run $ABRA app ls --status + assert_success + assert_output --partial "unknown server" +}