github.com/kiali/kiali@v1.84.0/business/checkers/serviceentries/port_checker_test.go (about)

     1  package serviceentries
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  
     8  	"github.com/kiali/kiali/config"
     9  	"github.com/kiali/kiali/models"
    10  	"github.com/kiali/kiali/tests/data"
    11  	"github.com/kiali/kiali/tests/testutils/validations"
    12  )
    13  
    14  func TestValidPortDefinition(t *testing.T) {
    15  	conf := config.NewConfig()
    16  	config.Set(conf)
    17  
    18  	assert := assert.New(t)
    19  
    20  	se := data.AddPortDefinitionToServiceEntry(
    21  		data.CreateEmptyServicePortDefinition(80, "http", "HTTP"),
    22  		data.CreateEmptyMeshExternalServiceEntry("valid-se", "test", []string{"localhost"}),
    23  	)
    24  
    25  	pc := PortChecker{ServiceEntry: se}
    26  	vals, valid := pc.Check()
    27  	assert.True(valid)
    28  	assert.Empty(vals)
    29  }
    30  
    31  func TestInvalidPortDefinition(t *testing.T) {
    32  	conf := config.NewConfig()
    33  	config.Set(conf)
    34  
    35  	assert := assert.New(t)
    36  
    37  	se := data.AddPortDefinitionToServiceEntry(
    38  		data.CreateEmptyServicePortDefinition(80, "example-http", "HTTP"),
    39  		data.CreateEmptyMeshExternalServiceEntry("notvalid-se", "test", []string{"localhost"}),
    40  	)
    41  
    42  	pc := PortChecker{ServiceEntry: se}
    43  	vals, valid := pc.Check()
    44  	assert.False(valid)
    45  	assert.NotEmpty(vals)
    46  	assert.Equal(models.ErrorSeverity, vals[0].Severity)
    47  	assert.NoError(validations.ConfirmIstioCheckMessage("port.name.mismatch", vals[0]))
    48  	assert.Equal("spec/ports[0]/name", vals[0].Path)
    49  }