github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/manager/allocator/network_test.go (about)

     1  package allocator
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/docker/swarmkit/api"
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestUpdatePortsInHostPublishMode(t *testing.T) {
    11  	service := api.Service{
    12  		Spec: api.ServiceSpec{
    13  			Endpoint: &api.EndpointSpec{
    14  				Ports: []*api.PortConfig{
    15  					{
    16  						Protocol:      api.ProtocolTCP,
    17  						TargetPort:    80,
    18  						PublishedPort: 10000,
    19  						PublishMode:   api.PublishModeHost,
    20  					},
    21  				},
    22  			},
    23  		},
    24  		Endpoint: &api.Endpoint{
    25  			Ports: []*api.PortConfig{
    26  				{
    27  					Protocol:      api.ProtocolTCP,
    28  					TargetPort:    80,
    29  					PublishedPort: 15000,
    30  					PublishMode:   api.PublishModeHost,
    31  				},
    32  			},
    33  		},
    34  	}
    35  	updatePortsInHostPublishMode(&service)
    36  
    37  	assert.Equal(t, len(service.Endpoint.Ports), 1)
    38  	assert.Equal(t, service.Endpoint.Ports[0].PublishedPort, uint32(10000))
    39  	assert.Equal(t, service.Endpoint.Spec.Ports[0].PublishedPort, uint32(10000))
    40  }