diff --git a/pkg/app/app.go b/pkg/app/app.go index 4b263deb..f7b7f27f 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 b3f1034b..1b85f2b0 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" +}