linkerd2/jaeger/cmd/install_test.go

56 lines
1.2 KiB
Go

package cmd
import (
"bytes"
"fmt"
"testing"
"github.com/linkerd/linkerd2/pkg/charts"
)
func TestRender(t *testing.T) {
// pin values that are changed by render functions on each test run
defaultValues := map[string]interface{}{
"webhook": map[string]interface{}{
"keyPEM": "test-webhook-key-pem",
"crtPEM": "test-webhook-crt-pem",
"caBundle": "test-webhook-ca-bundle",
},
}
testCases := []struct {
values map[string]interface{}
goldenFileName string
}{
{
nil,
"install_default.golden",
},
{
map[string]interface{}{
"jaeger": map[string]interface{}{"enabled": false},
},
"install_jaeger_disabled.golden",
},
{
map[string]interface{}{
"collector": map[string]interface{}{"enabled": false},
},
"install_collector_disabled.golden",
},
}
for i, tc := range testCases {
tc := tc // pin
t.Run(fmt.Sprintf("%d: %s", i, tc.goldenFileName), func(t *testing.T) {
var buf bytes.Buffer
// Merge overrides with default
if err := render(&buf, charts.MergeMaps(defaultValues, tc.values), ""); err != nil {
t.Fatalf("Failed to render templates: %v", err)
}
testDataDiffer.DiffTestdata(t, tc.goldenFileName, buf.String())
})
}
}