|
@@ -0,0 +1,58 @@
|
|
|
|
+package middleware
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "testing"
|
|
|
|
+
|
|
|
|
+ "github.com/stretchr/testify/assert"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func TestMaskSecretKeys(t *testing.T) {
|
|
|
|
+ tests := []struct {
|
|
|
|
+ path string
|
|
|
|
+ input map[string]interface{}
|
|
|
|
+ expected map[string]interface{}
|
|
|
|
+ }{
|
|
|
|
+ {
|
|
|
|
+ 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{}{}},
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ 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{}{}},
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ {
|
|
|
|
+ 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{}{}},
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ path: "/v1.30/some/other/path",
|
|
|
|
+ input: map[string]interface{}{
|
|
|
|
+ "password": "pass",
|
|
|
|
+ "other": map[string]interface{}{
|
|
|
|
+ "secret": "secret",
|
|
|
|
+ "jointoken": "jointoken",
|
|
|
|
+ "unlockkey": "unlockkey",
|
|
|
|
+ "signingcakey": "signingcakey",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ expected: map[string]interface{}{
|
|
|
|
+ "password": "*****",
|
|
|
|
+ "other": map[string]interface{}{
|
|
|
|
+ "secret": "*****",
|
|
|
|
+ "jointoken": "*****",
|
|
|
|
+ "unlockkey": "*****",
|
|
|
|
+ "signingcakey": "*****",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, testcase := range tests {
|
|
|
|
+ maskSecretKeys(testcase.input, testcase.path)
|
|
|
|
+ assert.Equal(t, testcase.expected, testcase.input)
|
|
|
|
+ }
|
|
|
|
+}
|