From 638cf86cbe9f3975e7d7a4ad67e656cb54f4ed73 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 2 Jul 2019 13:21:04 +0200 Subject: [PATCH] TestMaskSecretKeys: add more test-cases Add tests for - case-insensitive matching of fields - recursive masking Signed-off-by: Sebastiaan van Stijn (cherry picked from commit db5f811216e70bcb4a10e477c1558d6c68f618c5) Signed-off-by: Tibor Vass (cherry picked from commit 18dac2cf32faeaada3bd4e8e2bffa576ad4329fe) Signed-off-by: Sebastiaan van Stijn --- api/server/middleware/debug_test.go | 30 ++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/api/server/middleware/debug_test.go b/api/server/middleware/debug_test.go index a64b73e0d7..3d78d7e084 100644 --- a/api/server/middleware/debug_test.go +++ b/api/server/middleware/debug_test.go @@ -23,7 +23,6 @@ func TestMaskSecretKeys(t *testing.T) { input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}}, expected: map[string]interface{}{"Data": "*****", "Name": "name", "Labels": map[string]interface{}{}}, }, - { path: "/secrets/create?key=val", input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}}, @@ -32,8 +31,13 @@ func TestMaskSecretKeys(t *testing.T) { { path: "/v1.30/some/other/path", input: map[string]interface{}{ - "password": "pass", + "password": "pass", + "secret": "secret", + "jointoken": "jointoken", + "unlockkey": "unlockkey", + "signingcakey": "signingcakey", "other": map[string]interface{}{ + "password": "pass", "secret": "secret", "jointoken": "jointoken", "unlockkey": "unlockkey", @@ -41,8 +45,13 @@ func TestMaskSecretKeys(t *testing.T) { }, }, expected: map[string]interface{}{ - "password": "*****", + "password": "*****", + "secret": "*****", + "jointoken": "*****", + "unlockkey": "*****", + "signingcakey": "*****", "other": map[string]interface{}{ + "password": "*****", "secret": "*****", "jointoken": "*****", "unlockkey": "*****", @@ -50,6 +59,21 @@ func TestMaskSecretKeys(t *testing.T) { }, }, }, + { + path: "/v1.30/some/other/path", + input: map[string]interface{}{ + "PASSWORD": "pass", + "other": map[string]interface{}{ + "PASSWORD": "pass", + }, + }, + expected: map[string]interface{}{ + "PASSWORD": "*****", + "other": map[string]interface{}{ + "PASSWORD": "*****", + }, + }, + }, } for _, testcase := range tests {