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:
commit
21ad77b94e
|
|
@ -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
8
go.mod
|
|
@ -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
4
go.sum
|
|
@ -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=
|
||||
|
|
|
|||
|
|
@ -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{
|
||||
|
|
|
|||
Loading…
Reference in New Issue