parent
f6b7510da6
commit
3c9405a4ed
@ -12,20 +12,11 @@ import (
|
|||||||
"github.com/urfave/cli"
|
"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{
|
var serverListCommand = cli.Command{
|
||||||
Name: "list",
|
Name: "list",
|
||||||
Aliases: []string{"ls"},
|
Aliases: []string{"ls"},
|
||||||
Usage: "List managed servers",
|
Usage: "List managed servers",
|
||||||
Flags: []cli.Flag{
|
Flags: []cli.Flag{
|
||||||
problemsFilterFlag,
|
|
||||||
internal.DebugFlag,
|
internal.DebugFlag,
|
||||||
internal.MachineReadableFlag,
|
internal.MachineReadableFlag,
|
||||||
internal.OfflineFlag,
|
internal.OfflineFlag,
|
||||||
@ -38,7 +29,7 @@ var serverListCommand = cli.Command{
|
|||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
tableColumns := []string{"name", "host", "user", "port"}
|
tableColumns := []string{"name", "host"}
|
||||||
table := formatter.CreateTable(tableColumns)
|
table := formatter.CreateTable(tableColumns)
|
||||||
|
|
||||||
serverNames, err := config.ReadServerNames()
|
serverNames, err := config.ReadServerNames()
|
||||||
@ -64,47 +55,29 @@ var serverListCommand = cli.Command{
|
|||||||
if sp.Host == "" {
|
if sp.Host == "" {
|
||||||
sp.Host = "unknown"
|
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 len(row) == 0 {
|
||||||
if serverName == "default" {
|
if serverName == "default" {
|
||||||
row = []string{serverName, "local", "n/a", "n/a"}
|
row = []string{serverName, "local"}
|
||||||
} else {
|
} else {
|
||||||
row = []string{serverName, "unknown", "unknown", "unknown"}
|
row = []string{serverName, "unknown"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if problemsFilter {
|
table.Append(row)
|
||||||
for _, val := range row {
|
|
||||||
if val == "unknown" {
|
|
||||||
table.Append(row)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
table.Append(row)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if internal.MachineReadable {
|
if internal.MachineReadable {
|
||||||
table.JSONRender()
|
table.JSONRender()
|
||||||
} else {
|
return nil
|
||||||
if problemsFilter && table.NumLines() == 0 {
|
|
||||||
log.Info("all servers wired up correctly 👏")
|
|
||||||
} else {
|
|
||||||
table.Render()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
table.Render()
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,20 @@ setup(){
|
|||||||
_common_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" {
|
@test "list server" {
|
||||||
run "$ABRA" server ls
|
run "$ABRA" server ls
|
||||||
assert_success
|
assert_success
|
||||||
@ -30,29 +44,20 @@ setup(){
|
|||||||
assert_success
|
assert_success
|
||||||
assert_output --partial 'default'
|
assert_output --partial 'default'
|
||||||
assert_output --partial 'local'
|
assert_output --partial 'local'
|
||||||
assert_output --partial 'n/a'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "filter by problem" {
|
@test "list correct details" {
|
||||||
run "$ABRA" server ls --problems
|
if [ "$TEST_SERVER" = "default" ]; then
|
||||||
assert_success
|
skip "cannot add 'default' server (local)"
|
||||||
assert_output --partial 'all servers wired up correctly'
|
fi
|
||||||
|
|
||||||
run docker context create --docker host=ssh://incorrect nowhere.com
|
run "$ABRA" server ls
|
||||||
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
|
|
||||||
assert_success
|
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" {
|
@test "machine readable output" {
|
||||||
|
@ -15,6 +15,10 @@ setup(){
|
|||||||
_common_setup
|
_common_setup
|
||||||
}
|
}
|
||||||
|
|
||||||
|
teardown(){
|
||||||
|
_add_server
|
||||||
|
}
|
||||||
|
|
||||||
@test "validate server" {
|
@test "validate server" {
|
||||||
run $ABRA server remove --no-input
|
run $ABRA server remove --no-input
|
||||||
assert_failure
|
assert_failure
|
||||||
|
Loading…
x
Reference in New Issue
Block a user