TestMaskSecretKeys: use subtests
authorSebastiaan van Stijn <github@gone.nl>
Tue, 2 Jul 2019 11:29:24 +0000 (13:29 +0200)
committerFelix Geyer <fgeyer@debian.org>
Tue, 3 Sep 2019 17:59:35 +0000 (18:59 +0100)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 32d70c7e21631224674cd60021d3ec908c2d888c)
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit ebb542b3f88d7f5551f6b6e1d8d2774a2c166409)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Origin: https://github.com/docker/engine/pull/298

Gbp-Pq: Name cve-2019-13509-02-TestMaskSecretKeys-use-subtests.patch

engine/api/server/middleware/debug_test.go

index 3d78d7e08450341fa025fe2a58067cdc3782dcc7..e19a0ced2fbd7fb0745870185abc016baba2544a 100644 (file)
@@ -9,26 +9,31 @@ import (
 
 func TestMaskSecretKeys(t *testing.T) {
        tests := []struct {
+               doc      string
                path     string
                input    map[string]interface{}
                expected map[string]interface{}
        }{
                {
+                       doc:      "secret create with API version",
                        path:     "/v1.30/secrets/create",
                        input:    map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
                        expected: map[string]interface{}{"Data": "*****", "Name": "name", "Labels": map[string]interface{}{}},
                },
                {
+                       doc:      "secret create with API version and trailing slashes",
                        path:     "/v1.30/secrets/create//",
                        input:    map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
                        expected: map[string]interface{}{"Data": "*****", "Name": "name", "Labels": map[string]interface{}{}},
                },
                {
+                       doc:      "secret create with query param",
                        path:     "/secrets/create?key=val",
                        input:    map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
                        expected: map[string]interface{}{"Data": "*****", "Name": "name", "Labels": map[string]interface{}{}},
                },
                {
+                       doc:  "other paths with API version",
                        path: "/v1.30/some/other/path",
                        input: map[string]interface{}{
                                "password":     "pass",
@@ -60,6 +65,7 @@ func TestMaskSecretKeys(t *testing.T) {
                        },
                },
                {
+                       doc:  "other paths with API version case insensitive",
                        path: "/v1.30/some/other/path",
                        input: map[string]interface{}{
                                "PASSWORD": "pass",
@@ -77,7 +83,9 @@ func TestMaskSecretKeys(t *testing.T) {
        }
 
        for _, testcase := range tests {
-               maskSecretKeys(testcase.input, testcase.path)
-               assert.Check(t, is.DeepEqual(testcase.expected, testcase.input))
+               t.Run(testcase.doc, func(t *testing.T) {
+                       maskSecretKeys(testcase.input, testcase.path)
+                       assert.Check(t, is.DeepEqual(testcase.expected, testcase.input))
+               })
        }
 }