From 3c9405a4ed9d1e1bbaf8eceb9bff05dedca12d4d Mon Sep 17 00:00:00 2001 From: decentral1se Date: Wed, 10 Jul 2024 13:06:46 +0200 Subject: [PATCH] refactor!: --problems/p goes away Follow up for https://git.coopcloud.tech/coop-cloud/abra/pulls/413 --- cli/server/list.go | 43 ++++++---------------------- tests/integration/server_list.bats | 43 ++++++++++++++++------------ tests/integration/server_remove.bats | 4 +++ 3 files changed, 36 insertions(+), 54 deletions(-) diff --git a/cli/server/list.go b/cli/server/list.go index 0596a23b..8fea3e0b 100644 --- a/cli/server/list.go +++ b/cli/server/list.go @@ -12,20 +12,11 @@ import ( "github.com/urfave/cli" ) -var problemsFilter bool - -var problemsFilterFlag = &cli.BoolFlag{ - Name: "problems, p", - Usage: "Show only servers with potential connection problems", - Destination: &problemsFilter, -} - var serverListCommand = cli.Command{ Name: "list", Aliases: []string{"ls"}, Usage: "List managed servers", Flags: []cli.Flag{ - problemsFilterFlag, internal.DebugFlag, internal.MachineReadableFlag, internal.OfflineFlag, @@ -38,7 +29,7 @@ var serverListCommand = cli.Command{ log.Fatal(err) } - tableColumns := []string{"name", "host", "user", "port"} + tableColumns := []string{"name", "host"} table := formatter.CreateTable(tableColumns) serverNames, err := config.ReadServerNames() @@ -64,47 +55,29 @@ var serverListCommand = cli.Command{ if sp.Host == "" { sp.Host = "unknown" } - if sp.User == "" { - sp.User = "unknown" - } - if sp.Port == "" { - sp.Port = "unknown" - } - row = []string{serverName, sp.Host, sp.User, sp.Port} + row = []string{serverName, sp.Host} } } if len(row) == 0 { if serverName == "default" { - row = []string{serverName, "local", "n/a", "n/a"} + row = []string{serverName, "local"} } else { - row = []string{serverName, "unknown", "unknown", "unknown"} + row = []string{serverName, "unknown"} } } - if problemsFilter { - for _, val := range row { - if val == "unknown" { - table.Append(row) - break - } - } - } else { - table.Append(row) - } + table.Append(row) } if internal.MachineReadable { table.JSONRender() - } else { - if problemsFilter && table.NumLines() == 0 { - log.Info("all servers wired up correctly 👏") - } else { - table.Render() - } + return nil } + table.Render() + return nil }, } diff --git a/tests/integration/server_list.bats b/tests/integration/server_list.bats index 28c47bd3..e97731c3 100644 --- a/tests/integration/server_list.bats +++ b/tests/integration/server_list.bats @@ -15,6 +15,20 @@ setup(){ _common_setup } +teardown(){ + if [[ -d "$ABRA_DIR/servers/nowhere.com" ]]; then + run rm -rf "$ABRA_DIR/servers/nowhere.com" + assert_success + + run docker context rm nowhere.com + assert_success + fi + + if [[ -d "$ABRA_DIR/servers/default" ]]; then + _rm_default_server + fi +} + @test "list server" { run "$ABRA" server ls assert_success @@ -30,29 +44,20 @@ setup(){ assert_success assert_output --partial 'default' assert_output --partial 'local' - assert_output --partial 'n/a' } -@test "filter by problem" { - run "$ABRA" server ls --problems - assert_success - assert_output --partial 'all servers wired up correctly' +@test "list correct details" { + if [ "$TEST_SERVER" = "default" ]; then + skip "cannot add 'default' server (local)" + fi - run docker context create --docker host=ssh://incorrect nowhere.com - assert_success - - run mkdir -p "$ABRA_DIR/servers/nowhere.com" - assert_success - - run "$ABRA" server ls --problems - assert_success - assert_output --partial 'unknown' - - run rm -rf "$ABRA_DIR/servers/nowhere.com" - assert_success - - run docker context rm nowhere.com + run "$ABRA" server ls assert_success + assert_output --partial "$TEST_SERVER" + assert_output --partial "NAME" + assert_output --partial "HOST" + refute_output --partial "USER" + refute_output --partial "PORT" } @test "machine readable output" { diff --git a/tests/integration/server_remove.bats b/tests/integration/server_remove.bats index 4c64da5e..5e3ae80d 100644 --- a/tests/integration/server_remove.bats +++ b/tests/integration/server_remove.bats @@ -15,6 +15,10 @@ setup(){ _common_setup } +teardown(){ + _add_server +} + @test "validate server" { run $ABRA server remove --no-input assert_failure