TestMaskSecretKeys: use subtests
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 ebb542b3f8
)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
638cf86cbe
commit
685f13f3fd
1 changed files with 10 additions and 2 deletions
|
@ -9,26 +9,31 @@ import (
|
||||||
|
|
||||||
func TestMaskSecretKeys(t *testing.T) {
|
func TestMaskSecretKeys(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
|
doc string
|
||||||
path string
|
path string
|
||||||
input map[string]interface{}
|
input map[string]interface{}
|
||||||
expected map[string]interface{}
|
expected map[string]interface{}
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
|
doc: "secret create with API version",
|
||||||
path: "/v1.30/secrets/create",
|
path: "/v1.30/secrets/create",
|
||||||
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
||||||
expected: map[string]interface{}{"Data": "*****", "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//",
|
path: "/v1.30/secrets/create//",
|
||||||
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
||||||
expected: map[string]interface{}{"Data": "*****", "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",
|
path: "/secrets/create?key=val",
|
||||||
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
input: map[string]interface{}{"Data": "foo", "Name": "name", "Labels": map[string]interface{}{}},
|
||||||
expected: map[string]interface{}{"Data": "*****", "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",
|
path: "/v1.30/some/other/path",
|
||||||
input: map[string]interface{}{
|
input: map[string]interface{}{
|
||||||
"password": "pass",
|
"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",
|
path: "/v1.30/some/other/path",
|
||||||
input: map[string]interface{}{
|
input: map[string]interface{}{
|
||||||
"PASSWORD": "pass",
|
"PASSWORD": "pass",
|
||||||
|
@ -77,7 +83,9 @@ func TestMaskSecretKeys(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, testcase := range tests {
|
for _, testcase := range tests {
|
||||||
maskSecretKeys(testcase.input, testcase.path)
|
t.Run(testcase.doc, func(t *testing.T) {
|
||||||
assert.Check(t, is.DeepEqual(testcase.expected, testcase.input))
|
maskSecretKeys(testcase.input, testcase.path)
|
||||||
|
assert.Check(t, is.DeepEqual(testcase.expected, testcase.input))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue