/
githubmirror
/
traefik
Обзор
Документация
Войти
/
githubmirror
/
traefik
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
pkg/redactor/redactor_doOnJSON_test.go
68 строк
2 KB
Ludovic Fernandez
chore: update linter
20 мар 2024, 12:26
Не верифицирован
20 мар 2024, 12:26
141abce
Код
Авторство
О чём код?
package redactor import ( "os" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) func Test_doOnJSON(t *testing.T) { baseConfiguration, err := os.ReadFile("./testdata/example.json") require.NoError(t, err) anomConfiguration := doOnJSON(string(baseConfiguration)) expectedConfiguration, err := os.ReadFile("./testdata/expected.json") require.NoError(t, err) assert.JSONEq(t, string(expectedConfiguration), anomConfiguration) } func Test_doOnJSON_simple(t *testing.T) { testCases := []struct { name string input string expectedOutput string }{ { name: "email", input: `{ "email1": "goo@example.com", "email2": "foo.bargoo@example.com", "email3": "foo.bargoo@example.com.us" }`, expectedOutput: `{ "email1": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "email2": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "email3": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }`, }, { name: "url", input: `{ "URL": "foo domain.com foo", "URL": "foo sub.domain.com foo", "URL": "foo sub.sub.domain.com foo", "URL": "foo sub.sub.sub.domain.com.us foo", "URL":"https://hub.example.com","foo":"bar" }`, expectedOutput: `{ "URL": "foo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx foo", "URL": "foo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx foo", "URL": "foo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx foo", "URL": "foo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx foo", "URL":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","foo":"bar" }`, }, } for _, test := range testCases { t.Run(test.name, func(t *testing.T) { t.Parallel() output := doOnJSON(test.input) assert.Equal(t, test.expectedOutput, output) }) } }