mirror of https://github.com/k3s-io/k3s
Merge pull request #72366 from bart0sh/PR0047-kubeadm-test-cmd-use-T.Run
kubeadm: use T.Run API in test/cmdpull/564/head
commit
36049ef914
|
@ -27,23 +27,26 @@ func TestCmdCompletion(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"", false}, // shell not specified
|
{"shell not expected", "", false},
|
||||||
{"foo", false}, // unsupported shell type
|
{"unsupported shell type", "foo", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, rt := range tests {
|
for _, rt := range tests {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "completion", rt.args)
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "completion", rt.args)
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdCompletion running 'kubeadm completion %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdCompletion running 'kubeadm completion %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,26 +32,29 @@ func TestCmdJoinConfig(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--config=foobar", false},
|
{"config", "--config=foobar", false},
|
||||||
{"--config=/does/not/exist/foo/bar", false},
|
{"config path", "--config=/does/not/exist/foo/bar", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinConfig running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinConfig running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -62,26 +65,29 @@ func TestCmdJoinDiscoveryFile(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--discovery-file=foobar", false},
|
{"valid discovery file", "--discovery-file=foobar", false},
|
||||||
{"--discovery-file=file:wrong", false},
|
{"invalid discovery file", "--discovery-file=file:wrong", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinDiscoveryFile running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinDiscoveryFile running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,26 +98,29 @@ func TestCmdJoinDiscoveryToken(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--discovery-token=foobar", false},
|
{"valid discovery token", "--discovery-token=foobar", false},
|
||||||
{"--discovery-token=token://asdf:asdf", false},
|
{"valid discovery token url", "--discovery-token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinDiscoveryToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinDiscoveryToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,25 +131,28 @@ func TestCmdJoinNodeName(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--node-name=foobar", false},
|
{"valid node name", "--node-name=foobar", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinNodeName running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinNodeName running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,26 +163,29 @@ func TestCmdJoinTLSBootstrapToken(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--tls-bootstrap-token=foobar", false},
|
{"valid bootstrap token", "--tls-bootstrap-token=foobar", false},
|
||||||
{"--tls-bootstrap-token=token://asdf:asdf", false},
|
{"valid bootstrap token url", "--tls-bootstrap-token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinTLSBootstrapToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinTLSBootstrapToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,26 +196,29 @@ func TestCmdJoinToken(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--token=foobar", false},
|
{"valid token", "--token=foobar", false},
|
||||||
{"--token=token://asdf:asdf", false},
|
{"valid token url", "--token=token://asdf:asdf", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinToken running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,25 +230,28 @@ func TestCmdJoinBadArgs(t *testing.T) {
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--discovery-token=abcdef.1234567890123456 --discovery-file=file:///tmp/foo.bar", false}, // DiscoveryToken, DiscoveryFile can't both be set
|
{"discovery-token and discovery-file can't both be set", "--discovery-token=abcdef.1234567890123456 --discovery-file=file:///tmp/foo.bar", false}, // DiscoveryToken, DiscoveryFile can't both be set
|
||||||
{"", false}, // DiscoveryToken or DiscoveryFile must be set
|
{"discovery-token or discovery-file must be set", "", false}, // DiscoveryToken or DiscoveryFile must be set
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinBadArgs 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinBadArgs 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,24 +262,27 @@ func TestCmdJoinArgsMixed(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var initTest = []struct {
|
var initTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--discovery-token=abcdef.1234567890abcdef --config=/etc/kubernetes/kubeadm.config", false},
|
{"discovery-token and config", "--discovery-token=abcdef.1234567890abcdef --config=/etc/kubernetes/kubeadm.config", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "join", rt.args, "--ignore-preflight-errors=all")
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdJoinArgsMixed running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdJoinArgsMixed running 'kubeadm join %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,25 +90,28 @@ func TestCmdTokenDelete(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var tests = []struct {
|
var tests = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"", false}, // no token provided
|
{"no token provided", "", false},
|
||||||
{"foobar", false}, // invalid token
|
{"invalid token", "foobar", false},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range tests {
|
for _, rt := range tests {
|
||||||
_, _, actual := RunCmd(kubeadmPath, "token", "delete", rt.args)
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
_, _, actual := RunCmd(kubeadmPath, "token", "delete", rt.args)
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdTokenDelete running 'kubeadm token %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdTokenDelete running 'kubeadm token %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
kubeadmReset()
|
}
|
||||||
|
kubeadmReset()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,37 +40,40 @@ func TestCmdVersion(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var versionTest = []struct {
|
var versionTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
regex string
|
regex string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--output=valid", "", false},
|
{"invalid output option", "--output=valid", "", false},
|
||||||
{"--output=short", ShortExpectedRegex, true},
|
{"short output", "--output=short", ShortExpectedRegex, true},
|
||||||
{"", NormalExpectedRegex, true},
|
{"default output", "", NormalExpectedRegex, true},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range versionTest {
|
for _, rt := range versionTest {
|
||||||
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
|
}
|
||||||
|
|
||||||
if rt.expected {
|
if rt.expected {
|
||||||
matched, err := regexp.MatchString(rt.regex, stdout)
|
matched, err := regexp.MatchString(rt.regex, stdout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("encountered an error while trying to match 'kubeadm version %s' stdout: %v", rt.args, err)
|
t.Fatalf("encountered an error while trying to match 'kubeadm version %s' stdout: %v", rt.args, err)
|
||||||
|
}
|
||||||
|
if !matched {
|
||||||
|
t.Errorf("'kubeadm version %s' stdout did not match expected regex; wanted: [%q], got: [%s]", rt.args, rt.regex, stdout)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if !matched {
|
})
|
||||||
t.Errorf("'kubeadm version %s' stdout did not match expected regex; wanted: [%q], got: [%s]", rt.args, rt.regex, stdout)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,52 +84,55 @@ func TestCmdVersionOutputJsonOrYaml(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var versionTest = []struct {
|
var versionTest = []struct {
|
||||||
|
name string
|
||||||
args string
|
args string
|
||||||
format string
|
format string
|
||||||
expected bool
|
expected bool
|
||||||
}{
|
}{
|
||||||
{"--output=json", "json", true},
|
{"json output", "--output=json", "json", true},
|
||||||
{"--output=yaml", "yaml", true},
|
{"yaml output", "--output=yaml", "yaml", true},
|
||||||
}
|
}
|
||||||
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
for _, rt := range versionTest {
|
for _, rt := range versionTest {
|
||||||
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
if (actual == nil) != rt.expected {
|
stdout, _, actual := RunCmd(kubeadmPath, "version", rt.args)
|
||||||
t.Errorf(
|
if (actual == nil) != rt.expected {
|
||||||
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
t.Errorf(
|
||||||
rt.args,
|
"failed CmdVersion running 'kubeadm version %s' with an error: %v\n\texpected: %t\n\t actual: %t",
|
||||||
actual,
|
rt.args,
|
||||||
rt.expected,
|
actual,
|
||||||
(actual == nil),
|
rt.expected,
|
||||||
)
|
(actual == nil),
|
||||||
}
|
)
|
||||||
|
|
||||||
if rt.expected {
|
|
||||||
var obj interface{}
|
|
||||||
switch rt.format {
|
|
||||||
case "json":
|
|
||||||
err := json.Unmarshal([]byte(stdout), &obj)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("failed to parse json from 'kubeadm version %s': %s", rt.args, err)
|
|
||||||
}
|
|
||||||
case "yaml":
|
|
||||||
err := yaml.Unmarshal([]byte(stdout), &obj)
|
|
||||||
if err != nil {
|
|
||||||
t.Errorf("failed to parse yaml from 'kubeadm version %s': %s", rt.args, err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
m := obj.(map[string]interface{})
|
if rt.expected {
|
||||||
if m["clientVersion"] == nil {
|
var obj interface{}
|
||||||
t.Errorf("failed to get the information of clientVersion from 'kubeadm version %s'", rt.args)
|
switch rt.format {
|
||||||
}
|
case "json":
|
||||||
info := m["clientVersion"].(map[string]interface{})
|
err := json.Unmarshal([]byte(stdout), &obj)
|
||||||
for _, key := range VersionInfo {
|
if err != nil {
|
||||||
if len(info[key].(string)) == 0 {
|
t.Errorf("failed to parse json from 'kubeadm version %s': %s", rt.args, err)
|
||||||
t.Errorf("failed to get the information of %s from 'kubeadm version %s'", key, rt.args)
|
}
|
||||||
|
case "yaml":
|
||||||
|
err := yaml.Unmarshal([]byte(stdout), &obj)
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("failed to parse yaml from 'kubeadm version %s': %s", rt.args, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m := obj.(map[string]interface{})
|
||||||
|
if m["clientVersion"] == nil {
|
||||||
|
t.Errorf("failed to get the information of clientVersion from 'kubeadm version %s'", rt.args)
|
||||||
|
}
|
||||||
|
info := m["clientVersion"].(map[string]interface{})
|
||||||
|
for _, key := range VersionInfo {
|
||||||
|
if len(info[key].(string)) == 0 {
|
||||||
|
t.Errorf("failed to get the information of %s from 'kubeadm version %s'", key, rt.args)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue