github.com/cilium/cilium@v1.16.2/pkg/datapath/loader/template_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package loader 5 6 import ( 7 "bytes" 8 "testing" 9 10 "github.com/stretchr/testify/require" 11 12 "github.com/cilium/cilium/pkg/testutils" 13 ) 14 15 func TestWrap(t *testing.T) { 16 var ( 17 realEPBuffer bytes.Buffer 18 templateBuffer bytes.Buffer 19 ) 20 21 realEP := testutils.NewTestEndpoint() 22 template := wrap(&realEP) 23 cfg := configWriterForTest(t) 24 25 // Write the configuration that should be the same, and verify it is. 26 err := cfg.WriteTemplateConfig(&realEPBuffer, &localNodeConfig, &realEP) 27 require.NoError(t, err) 28 err = cfg.WriteTemplateConfig(&templateBuffer, &localNodeConfig, template) 29 require.NoError(t, err) 30 require.Equal(t, realEPBuffer.String(), templateBuffer.String()) 31 32 // Write with the static data, and verify that the buffers differ. 33 // Note this isn't an overly strong test because it only takes one 34 // character to change for this test to pass, but we would ideally 35 // define every bit of static data differently in the templates. 36 realEPBuffer.Reset() 37 templateBuffer.Reset() 38 err = cfg.WriteEndpointConfig(&realEPBuffer, &localNodeConfig, &realEP) 39 require.NoError(t, err) 40 err = cfg.WriteEndpointConfig(&templateBuffer, &localNodeConfig, template) 41 require.NoError(t, err) 42 43 require.NotEqual(t, realEPBuffer.String(), templateBuffer.String()) 44 }