Merge pull request #85595 from zhouya0/add_test_coverage_with_kubectl_get_components

add test coverage with kubectl get components

Kubernetes-commit: ab0bfb304caa3f67d5c207c2356557cda90936b9
This commit is contained in:
Kubernetes Publisher 2019-11-27 06:03:21 -08:00
commit 21ad77b94e
4 changed files with 40 additions and 13 deletions

4
Godeps/Godeps.json generated
View File

@ -604,7 +604,7 @@
},
{
"ImportPath": "k8s.io/client-go",
"Rev": "8d0e6f1b7b78"
"Rev": "8c19b9f4a642"
},
{
"ImportPath": "k8s.io/code-generator",
@ -612,7 +612,7 @@
},
{
"ImportPath": "k8s.io/component-base",
"Rev": "76db98f44733"
"Rev": "0d4d24e738e4"
},
{
"ImportPath": "k8s.io/gengo",

8
go.mod
View File

@ -39,8 +39,8 @@ require (
k8s.io/api v0.0.0-20191121015604-11707872ac1c
k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3
k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73
k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78
k8s.io/component-base v0.0.0-20191123020320-76db98f44733
k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642
k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4
k8s.io/klog v1.0.0
k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a
k8s.io/metrics v0.0.0-20191121021546-b1134fd1210c
@ -56,8 +56,8 @@ replace (
k8s.io/api => k8s.io/api v0.0.0-20191121015604-11707872ac1c
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73
k8s.io/client-go => k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78
k8s.io/client-go => k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e
k8s.io/component-base => k8s.io/component-base v0.0.0-20191123020320-76db98f44733
k8s.io/component-base => k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4
k8s.io/metrics => k8s.io/metrics v0.0.0-20191121021546-b1134fd1210c
)

4
go.sum
View File

@ -326,9 +326,9 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
k8s.io/api v0.0.0-20191121015604-11707872ac1c/go.mod h1:R/s4gKT0V/cWEnbQa9taNRJNbWUK57/Dx6cPj6MD3A0=
k8s.io/apimachinery v0.0.0-20191123233150-4c4803ed55e3/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg=
k8s.io/cli-runtime v0.0.0-20191121021703-be566597aa73/go.mod h1:ME9bWHGO0aLE47pOtHhtqozw2O8qQ7oYXfUpf0r8RPI=
k8s.io/client-go v0.0.0-20191123055820-8d0e6f1b7b78/go.mod h1:nHtEfdUB9pCHUW0ifsuHB2GNBDp3nETVVMFDWiqvOtA=
k8s.io/client-go v0.0.0-20191204082517-8c19b9f4a642/go.mod h1:HMVIZ0dPop3WCrPEaJ+v5/94cjt56avdDFshpX0Fjvo=
k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s=
k8s.io/component-base v0.0.0-20191123020320-76db98f44733/go.mod h1:nT8n8i8cDfo/PoqR5cVK6K/lY5KplPj01GrGEGlRqH0=
k8s.io/component-base v0.0.0-20191204083903-0d4d24e738e4/go.mod h1:8VIh1jErItC4bg9hLBkPneyS77Tin8KwSzbYepHJnQI=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=

View File

@ -1176,7 +1176,7 @@ func TestGetListComponentStatus(t *testing.T) {
tf.UnstructuredClient = &fake.RESTClient{
NegotiatedSerializer: resource.UnstructuredPlusDefaultContentConfig().NegotiatedSerializer,
Resp: &http.Response{StatusCode: http.StatusOK, Header: cmdtesting.DefaultHeader(), Body: cmdtesting.ObjBody(codec, statuses)},
Resp: &http.Response{StatusCode: http.StatusOK, Header: cmdtesting.DefaultHeader(), Body: componentStatusTableObjBody(codec, (*statuses).Items...)},
}
streams, _, buf, _ := genericclioptions.NewTestIOStreams()
@ -1184,10 +1184,10 @@ func TestGetListComponentStatus(t *testing.T) {
cmd.SetOutput(buf)
cmd.Run(cmd, []string{"componentstatuses"})
expected := `NAME AGE
servergood <unknown>
serverbad <unknown>
serverunknown <unknown>
expected := `NAME STATUS MESSAGE ERROR
servergood Healthy ok
serverbad Unhealthy bad status: 500
serverunknown Unhealthy fizzbuzz error
`
if e, a := expected, buf.String(); e != a {
t.Errorf("expected\n%v\ngot\n%v", e, a)
@ -2788,6 +2788,33 @@ func nodeTableObjBody(codec runtime.Codec, nodes ...corev1.Node) io.ReadCloser {
return cmdtesting.ObjBody(codec, table)
}
// build a meta table response from a componentStatus list
func componentStatusTableObjBody(codec runtime.Codec, componentStatuses ...corev1.ComponentStatus) io.ReadCloser {
table := &metav1.Table{
ColumnDefinitions: []metav1.TableColumnDefinition{
{Name: "Name", Type: "string", Format: "name"},
{Name: "Status", Type: "string", Format: ""},
{Name: "Message", Type: "string", Format: ""},
{Name: "Error", Type: "string", Format: ""},
},
}
for _, v := range componentStatuses {
b := bytes.NewBuffer(nil)
codec.Encode(&v, b)
var status string
if v.Conditions[0].Status == corev1.ConditionTrue {
status = "Healthy"
} else {
status = "Unhealthy"
}
table.Rows = append(table.Rows, metav1.TableRow{
Object: runtime.RawExtension{Raw: b.Bytes()},
Cells: []interface{}{v.Name, status, v.Conditions[0].Message, v.Conditions[0].Error},
})
}
return cmdtesting.ObjBody(codec, table)
}
// build an empty table response
func emptyTableObjBody(codec runtime.Codec) io.ReadCloser {
table := &metav1.Table{