github.com/kiali/kiali@v1.84.0/business/checkers/sidecars/outbound_traffic_policy_mode_test.go (about)

     1  package sidecars
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	"istio.io/api/networking/v1beta1"
     8  
     9  	"github.com/kiali/kiali/tests/data"
    10  )
    11  
    12  func TestOutboundTrafficPolicyModeCheck(t *testing.T) {
    13  	assert := assert.New(t)
    14  
    15  	sc := data.CreateSidecar("testsidecar", "testns")
    16  
    17  	// no OutboundTrafficPolicy is OK - all defaults are clear and unambiguous
    18  	sc.Spec.OutboundTrafficPolicy = nil
    19  	vals, valid := OutboundTrafficPolicyModeChecker{
    20  		Sidecar: sc,
    21  	}.Check()
    22  	assert.Empty(vals)
    23  	assert.True(valid)
    24  
    25  	// OutboundTrafficPolicy with no mode defined is ambiguous (it is still valid though)
    26  	sc.Spec.OutboundTrafficPolicy = &v1beta1.OutboundTrafficPolicy{}
    27  	vals, valid = OutboundTrafficPolicyModeChecker{
    28  		Sidecar: sc,
    29  	}.Check()
    30  	assert.Equal(1, len(vals))
    31  	assert.Equal("KIA1007", vals[0].Code)
    32  	assert.True(valid)
    33  
    34  	// OutboundTrafficPolicy with mode defined with the default value is ambiguous (it is still valid though)
    35  	sc.Spec.OutboundTrafficPolicy = &v1beta1.OutboundTrafficPolicy{
    36  		Mode: v1beta1.OutboundTrafficPolicy_Mode(0),
    37  	}
    38  	vals, valid = OutboundTrafficPolicyModeChecker{
    39  		Sidecar: sc,
    40  	}.Check()
    41  	assert.Equal(1, len(vals))
    42  	assert.Equal("KIA1007", vals[0].Code)
    43  	assert.True(valid)
    44  
    45  	// OutboundTrafficPolicy with mode defined with a non-default value is clear and unambiguous.
    46  	sc.Spec.OutboundTrafficPolicy = &v1beta1.OutboundTrafficPolicy{
    47  		Mode: v1beta1.OutboundTrafficPolicy_Mode(1),
    48  	}
    49  	vals, valid = OutboundTrafficPolicyModeChecker{
    50  		Sidecar: sc,
    51  	}.Check()
    52  	assert.Empty(vals)
    53  	assert.True(valid)
    54  }