...
1 package cmd
2
3 import (
4 "bytes"
5 "fmt"
6 "testing"
7
8 "github.com/linkerd/linkerd2/pkg/charts"
9 )
10
11 func TestRender(t *testing.T) {
12
13
14 defaultValues := map[string]interface{}{
15 "webhook": map[string]interface{}{
16 "externalSecret": true,
17 "caBundle": "test-webhook-ca-bundle",
18 },
19 }
20
21 testCases := []struct {
22 values map[string]interface{}
23 goldenFileName string
24 }{
25 {
26 nil,
27 "install_default.golden",
28 },
29 {
30 map[string]interface{}{
31 "jaeger": map[string]interface{}{"enabled": false},
32 },
33 "install_jaeger_disabled.golden",
34 },
35 {
36 map[string]interface{}{
37 "collector": map[string]interface{}{"enabled": false},
38 },
39 "install_collector_disabled.golden",
40 },
41 }
42
43 for i, tc := range testCases {
44 tc := tc
45 t.Run(fmt.Sprintf("%d: %s", i, tc.goldenFileName), func(t *testing.T) {
46 var buf bytes.Buffer
47
48 if err := render(&buf, charts.MergeMaps(defaultValues, tc.values), ""); err != nil {
49 t.Fatalf("Failed to render templates: %v", err)
50 }
51 if err := testDataDiffer.DiffTestYAML(tc.goldenFileName, buf.String()); err != nil {
52 t.Error(err)
53 }
54 })
55 }
56 }
57
View as plain text