...
1 package cmd
2
3 import (
4 "fmt"
5 "testing"
6
7 multicluster "github.com/linkerd/linkerd2/multicluster/values"
8 "github.com/linkerd/linkerd2/pkg/charts"
9 )
10
11 func TestServiceMirrorRender(t *testing.T) {
12 defaultValues := map[string]interface{}{}
13 linkValues, _ := multicluster.NewLinkValues()
14 linkValues.TargetClusterName = "test-cluster"
15 testCases := []struct {
16 serviceMirrorValues *multicluster.Values
17 overrides map[string]interface{}
18 goldenFileName string
19 }{
20 {
21 linkValues,
22 nil,
23 "service_mirror_default.golden",
24 },
25
26 {
27 linkValues,
28 map[string]interface{}{
29 "enablePodAntiAffinity": true,
30 },
31 "service_mirror_ha.golden",
32 },
33 }
34 for i, tc := range testCases {
35 tc := tc
36 t.Run(fmt.Sprintf("%d: %s", i, tc.goldenFileName), func(t *testing.T) {
37 out, err := renderServiceMirror(tc.serviceMirrorValues, charts.MergeMaps(defaultValues, tc.overrides), "test")
38 if err != nil {
39 t.Fatalf("Failed to render templates: %v", err)
40 }
41 fmt.Println(string(out))
42 if err = testDataDiffer.DiffTestYAML(tc.goldenFileName, string(out)); err != nil {
43 t.Error(err)
44 }
45 })
46 }
47 }
48
View as plain text