kuma

Форк
0
/
sanitize_test.go 
51 строка · 1.3 Кб
1
package admin_test
2

3
import (
4
	"os"
5
	"path"
6
	"path/filepath"
7

8
	envoy_admin_v3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3"
9
	. "github.com/onsi/ginkgo/v2"
10
	. "github.com/onsi/gomega"
11

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"
16
)
17

18
var _ = Describe("Sanitize ConfigDump", func() {
19
	type testCase struct {
20
		configFile string
21
		goldenFile string
22
	}
23

24
	DescribeTable("should redact sensitive information",
25
		func(given testCase) {
26
			// given
27
			rawConfigDump, err := os.ReadFile(filepath.Join("testdata", given.configFile))
28
			Expect(err).ToNot(HaveOccurred())
29

30
			configDump := &envoy_admin_v3.ConfigDump{}
31
			Expect(util_proto.FromJSON(rawConfigDump, configDump)).To(Succeed())
32

33
			// when
34
			Expect(admin.Sanitize(configDump)).To(Succeed())
35
			// and when
36
			sanitized, err := util_proto.ToJSONIndent(configDump, "  ")
37
			Expect(err).ToNot(HaveOccurred())
38

39
			// then
40
			Expect(sanitized).To(matchers.MatchGoldenJSON(path.Join("testdata", given.goldenFile)))
41
		},
42
		Entry("full config", testCase{
43
			configFile: "full_config.json",
44
			goldenFile: "golden.full_config.json",
45
		}),
46
		Entry("no hds", testCase{
47
			configFile: "no_hds.json",
48
			goldenFile: "golden.no_hds.json",
49
		}),
50
	)
51
})
52

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.