From 75aa00d7ad77b91dc80376e6b3772820fc51c727 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 2 Jul 2019 13:29:24 +0200 Subject: [PATCH] [PATCH] TestMaskSecretKeys: use subtests Signed-off-by: Sebastiaan van Stijn (cherry picked from commit 32d70c7e21631224674cd60021d3ec908c2d888c) Signed-off-by: Tibor Vass (cherry picked from commit ebb542b3f88d7f5551f6b6e1d8d2774a2c166409) Signed-off-by: Sebastiaan van Stijn 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 | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/engine/api/server/middleware/debug_test.go b/engine/api/server/middleware/debug_test.go index 3d78d7e0..e19a0ced 100644 --- a/engine/api/server/middleware/debug_test.go +++ b/engine/api/server/middleware/debug_test.go @@ -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)) + }) } } -- 2.30.2