From cc28c6dba4d703f3ced1cb32394597252483b8bb Mon Sep 17 00:00:00 2001 From: Chok Yip Lau Date: Thu, 25 Mar 2021 16:54:44 -0400 Subject: [PATCH] Added BinaryData description to kubectl describe --- staging/src/k8s.io/kubectl/pkg/describe/describe.go | 6 ++++++ .../src/k8s.io/kubectl/pkg/describe/describe_test.go | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe.go b/staging/src/k8s.io/kubectl/pkg/describe/describe.go index b40a9b6b1c2..4cabb997d00 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe.go @@ -4233,6 +4233,12 @@ func (d *ConfigMapDescriber) Describe(namespace, name string, describerSettings w.Write(LEVEL_0, "%s:\n----\n", k) w.Write(LEVEL_0, "%s\n", string(v)) } + w.Write(LEVEL_0, "\nBinaryData\n====\n") + for k, v := range configMap.BinaryData { + w.Write(LEVEL_0, "%s: %s bytes\n", k, strconv.Itoa(len(v))) + } + w.Write(LEVEL_0, "\n") + if describerSettings.ShowEvents { events, err := d.CoreV1().Events(namespace).Search(scheme.Scheme, configMap) if err != nil { diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go index 01e7d656b4d..ece9552873f 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe_test.go @@ -284,6 +284,10 @@ func TestDescribeConfigMap(t *testing.T) { "key1": "value1", "key2": "value2", }, + BinaryData: map[string][]byte{ + "binarykey1": {0xFF, 0xFE, 0xFD, 0xFC, 0xFB}, + "binarykey2": {0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA}, + }, }) c := &describeClient{T: t, Namespace: "foo", Interface: fake} d := ConfigMapDescriber{c} @@ -291,7 +295,13 @@ func TestDescribeConfigMap(t *testing.T) { if err != nil { t.Errorf("unexpected error: %v", err) } - if !strings.Contains(out, "foo") || !strings.Contains(out, "mycm") || !strings.Contains(out, "key1") || !strings.Contains(out, "value1") || !strings.Contains(out, "key2") || !strings.Contains(out, "value2") { + if !strings.Contains(out, "foo") || !strings.Contains(out, "mycm") { + t.Errorf("unexpected out: %s", out) + } + if !strings.Contains(out, "key1") || !strings.Contains(out, "value1") || !strings.Contains(out, "key2") || !strings.Contains(out, "value2") { + t.Errorf("unexpected out: %s", out) + } + if !strings.Contains(out, "binarykey1") || !strings.Contains(out, "5 bytes") || !strings.Contains(out, "binarykey2") || !strings.Contains(out, "6 bytes") { t.Errorf("unexpected out: %s", out) } }