anonymize_doOnJSON_test.go (traefik-v2.3.2.src) | : | anonymize_doOnJSON_test.go (traefik-v2.3.3.src) | ||
---|---|---|---|---|
package anonymize | package anonymize | |||
import ( | import ( | |||
"io/ioutil" | ||||
"testing" | "testing" | |||
"github.com/stretchr/testify/assert" | "github.com/stretchr/testify/assert" | |||
"github.com/stretchr/testify/require" | ||||
) | ) | |||
func Test_doOnJSON(t *testing.T) { | func Test_doOnJSON(t *testing.T) { | |||
baseConfiguration := ` | baseConfiguration, err := ioutil.ReadFile("./testdata/example.json") | |||
{ | require.NoError(t, err) | |||
"GraceTimeOut": 10000000000, | ||||
"Debug": false, | anomConfiguration := doOnJSON(string(baseConfiguration)) | |||
"CheckNewVersion": true, | ||||
"AccessLogsFile": "", | expectedConfiguration, err := ioutil.ReadFile("./testdata/expected.json") | |||
"TraefikLogsFile": "", | require.NoError(t, err) | |||
"Level": "ERROR", | ||||
"EntryPoints": { | ||||
"http": { | ||||
"Network": "", | ||||
"Address": ":80", | ||||
"TLS": null, | ||||
"Auth": null, | ||||
"Compress": false | ||||
}, | ||||
"https": { | ||||
"Address": ":443", | ||||
"TLS": { | ||||
"MinVersion": "", | ||||
"CipherSuites": null, | ||||
"Certificates": null, | ||||
"ClientCAFiles": null | ||||
}, | ||||
"Auth": null, | ||||
"Compress": false | ||||
} | ||||
}, | ||||
"Cluster": null, | ||||
"Constraints": [], | ||||
"ACME": { | ||||
"Email": "foo@bar.com", | ||||
"Domains": [ | ||||
{ | ||||
"Main": "foo@bar.com", | ||||
"SANs": null | ||||
}, | ||||
{ | ||||
"Main": "foo@bar.com", | ||||
"SANs": null | ||||
} | ||||
], | ||||
"Storage": "", | ||||
"StorageFile": "/acme/acme.json", | ||||
"OnDemand": true, | ||||
"OnHostRule": true, | ||||
"CAServer": "", | ||||
"EntryPoint": "https", | ||||
"DNSProvider": "", | ||||
"DelayDontCheckDNS": 0, | ||||
"ACMELogging": false, | ||||
"Options": null | ||||
}, | ||||
"DefaultEntryPoints": [ | ||||
"https", | ||||
"http" | ||||
], | ||||
"ProvidersThrottleDuration": 2000000000, | ||||
"MaxIdleConnsPerHost": 200, | ||||
"IdleTimeout": 180000000000, | ||||
"InsecureSkipVerify": false, | ||||
"Retry": null, | ||||
"HealthCheck": { | ||||
"Interval": 30000000000 | ||||
}, | ||||
"Docker": null, | ||||
"File": null, | ||||
"Web": null, | ||||
"Marathon": null, | ||||
"Consul": null, | ||||
"ConsulCatalog": null, | ||||
"Etcd": null, | ||||
"Zookeeper": null, | ||||
"Boltdb": null, | ||||
"KubernetesIngress": null, | ||||
"KubernetesCRD": null, | ||||
"Mesos": null, | ||||
"Eureka": null, | ||||
"ECS": null, | ||||
"Rancher": null, | ||||
"DynamoDB": null, | ||||
"ConfigFile": "/etc/traefik/traefik.toml" | ||||
} | ||||
` | ||||
expectedConfiguration := ` | ||||
{ | ||||
"GraceTimeOut": 10000000000, | ||||
"Debug": false, | ||||
"CheckNewVersion": true, | ||||
"AccessLogsFile": "", | ||||
"TraefikLogsFile": "", | ||||
"Level": "ERROR", | ||||
"EntryPoints": { | ||||
"http": { | ||||
"Network": "", | ||||
"Address": ":80", | ||||
"TLS": null, | ||||
"Auth": null, | ||||
"Compress": false | ||||
}, | ||||
"https": { | ||||
"Address": ":443", | ||||
"TLS": { | ||||
"MinVersion": "", | ||||
"CipherSuites": null, | ||||
"Certificates": null, | ||||
"ClientCAFiles": null | ||||
}, | ||||
"Auth": null, | ||||
"Compress": false | ||||
} | ||||
}, | ||||
"Cluster": null, | ||||
"Constraints": [], | ||||
"ACME": { | ||||
"Email": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", | ||||
"Domains": [ | ||||
{ | ||||
"Main": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", | ||||
"SANs": null | ||||
}, | ||||
{ | ||||
"Main": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", | ||||
"SANs": null | ||||
} | ||||
], | ||||
"Storage": "", | ||||
"StorageFile": "/acme/acme.json", | ||||
"OnDemand": true, | ||||
"OnHostRule": true, | ||||
"CAServer": "", | ||||
"EntryPoint": "https", | ||||
"DNSProvider": "", | ||||
"DelayDontCheckDNS": 0, | ||||
"ACMELogging": false, | ||||
"Options": null | ||||
}, | ||||
"DefaultEntryPoints": [ | ||||
"https", | ||||
"http" | ||||
], | ||||
"ProvidersThrottleDuration": 2000000000, | ||||
"MaxIdleConnsPerHost": 200, | ||||
"IdleTimeout": 180000000000, | ||||
"InsecureSkipVerify": false, | ||||
"Retry": null, | ||||
"HealthCheck": { | ||||
"Interval": 30000000000 | ||||
}, | ||||
"Docker": null, | ||||
"File": null, | ||||
"Web": null, | ||||
"Marathon": null, | ||||
"Consul": null, | ||||
"ConsulCatalog": null, | ||||
"Etcd": null, | ||||
"Zookeeper": null, | ||||
"Boltdb": null, | ||||
"KubernetesIngress": null, | ||||
"KubernetesCRD": null, | ||||
"Mesos": null, | ||||
"Eureka": null, | ||||
"ECS": null, | ||||
"Rancher": null, | ||||
"DynamoDB": null, | ||||
"ConfigFile": "/etc/traefik/traefik.toml" | ||||
} | ||||
` | ||||
anomConfiguration := doOnJSON(baseConfiguration) | ||||
if anomConfiguration != expectedConfiguration { | assert.JSONEq(t, string(expectedConfiguration), anomConfiguration) | |||
t.Errorf("Got %s, want %s.", anomConfiguration, expectedConfigura | ||||
tion) | ||||
} | ||||
} | } | |||
func Test_doOnJSON_simple(t *testing.T) { | func Test_doOnJSON_simple(t *testing.T) { | |||
testCases := []struct { | testCases := []struct { | |||
name string | name string | |||
input string | input string | |||
expectedOutput string | expectedOutput string | |||
}{ | }{ | |||
{ | { | |||
name: "email", | name: "email", | |||
End of changes. 4 change blocks. | ||||
173 lines changed or deleted | 10 lines changed or added |