...

Source file src/github.com/linkerd/linkerd2/multicluster/cmd/install_test.go

Documentation: github.com/linkerd/linkerd2/multicluster/cmd

     1  package cmd
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"testing"
     7  
     8  	multicluster "github.com/linkerd/linkerd2/multicluster/values"
     9  	"github.com/linkerd/linkerd2/pkg/charts"
    10  )
    11  
    12  func TestRender(t *testing.T) {
    13  	// pin values that are changed by render functions on each test run
    14  	defaultValues := map[string]interface{}{}
    15  
    16  	testCases := []struct {
    17  		values             map[string]interface{}
    18  		multiclusterValues *multicluster.Values
    19  		goldenFileName     string
    20  	}{
    21  		{
    22  			nil,
    23  			nil,
    24  			"install_default.golden",
    25  		},
    26  		{
    27  			map[string]interface{}{
    28  				"enablePSP": "true",
    29  			},
    30  			nil,
    31  			"install_psp.golden",
    32  		},
    33  		{
    34  			map[string]interface{}{
    35  				"enablePSP": "true",
    36  				"gateway": map[string]interface{}{
    37  					"replicas": 3,
    38  				},
    39  				"enablePodAntiAffinity": true,
    40  			},
    41  			nil,
    42  			"install_ha.golden",
    43  		},
    44  	}
    45  
    46  	for i, tc := range testCases {
    47  		tc := tc // pin
    48  		t.Run(fmt.Sprintf("%d: %s", i, tc.goldenFileName), func(t *testing.T) {
    49  			var buf bytes.Buffer
    50  			// Merge overrides with default
    51  			if err := render(&buf, tc.multiclusterValues, charts.MergeMaps(defaultValues, tc.values)); err != nil {
    52  				t.Fatalf("Failed to render templates: %v", err)
    53  			}
    54  			if err := testDataDiffer.DiffTestYAML(tc.goldenFileName, buf.String()); err != nil {
    55  				t.Error(err)
    56  			}
    57  		})
    58  	}
    59  }
    60  

View as plain text