8
envoy_admin_v3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3"
9
. "github.com/onsi/ginkgo/v2"
10
. "github.com/onsi/gomega"
12
"github.com/kumahq/kuma/pkg/envoy/admin"
13
"github.com/kumahq/kuma/pkg/test/matchers"
14
util_proto "github.com/kumahq/kuma/pkg/util/proto"
15
_ "github.com/kumahq/kuma/pkg/xds/envoy"
18
var _ = Describe("Sanitize ConfigDump", func() {
19
type testCase struct {
24
DescribeTable("should redact sensitive information",
25
func(given testCase) {
27
rawConfigDump, err := os.ReadFile(filepath.Join("testdata", given.configFile))
28
Expect(err).ToNot(HaveOccurred())
30
configDump := &envoy_admin_v3.ConfigDump{}
31
Expect(util_proto.FromJSON(rawConfigDump, configDump)).To(Succeed())
34
Expect(admin.Sanitize(configDump)).To(Succeed())
36
sanitized, err := util_proto.ToJSONIndent(configDump, " ")
37
Expect(err).ToNot(HaveOccurred())
40
Expect(sanitized).To(matchers.MatchGoldenJSON(path.Join("testdata", given.goldenFile)))
42
Entry("full config", testCase{
43
configFile: "full_config.json",
44
goldenFile: "golden.full_config.json",
46
Entry("no hds", testCase{
47
configFile: "no_hds.json",
48
goldenFile: "golden.no_hds.json",