parent
f6b7510da6
commit
3c9405a4ed
@ -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
|
||||
},
|
||||
}
|
||||
|
@ -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" {
|
||||
|
@ -15,6 +15,10 @@ setup(){
|
||||
_common_setup
|
||||
}
|
||||
|
||||
teardown(){
|
||||
_add_server
|
||||
}
|
||||
|
||||
@test "validate server" {
|
||||
run $ABRA server remove --no-input
|
||||
assert_failure
|
||||
|
Loading…
x
Reference in New Issue
Block a user