mirror of https://github.com/linkerd/linkerd2.git
56 lines
1.2 KiB
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())
|
|
})
|
|
}
|
|
}
|