github.com/tonistiigi/docker@v0.10.1-0.20240229224939-974013b0dc6a/integration/container/inspect_test.go (about)

     1  package container // import "github.com/docker/docker/integration/container"
     2  
     3  import (
     4  	"runtime"
     5  	"strings"
     6  	"testing"
     7  
     8  	containertypes "github.com/docker/docker/api/types/container"
     9  	"github.com/docker/docker/integration/internal/container"
    10  	"github.com/docker/docker/testutil/request"
    11  	"gotest.tools/v3/assert"
    12  	is "gotest.tools/v3/assert/cmp"
    13  )
    14  
    15  func TestInspectAnnotations(t *testing.T) {
    16  	ctx := setupTest(t)
    17  	apiClient := request.NewAPIClient(t)
    18  
    19  	annotations := map[string]string{
    20  		"hello": "world",
    21  		"foo":   "bar",
    22  	}
    23  
    24  	name := strings.ToLower(t.Name())
    25  	id := container.Create(ctx, t, apiClient,
    26  		container.WithName(name),
    27  		container.WithCmd("true"),
    28  		func(c *container.TestContainerConfig) {
    29  			c.HostConfig.Annotations = annotations
    30  		},
    31  	)
    32  
    33  	inspect, err := apiClient.ContainerInspect(ctx, id)
    34  	assert.NilError(t, err)
    35  	assert.Check(t, is.DeepEqual(inspect.HostConfig.Annotations, annotations))
    36  }
    37  
    38  // TestNetworkAliasesAreEmpty verifies that network-scoped aliases are not set
    39  // for non-custom networks (network-scoped aliases are only supported for
    40  // custom networks, except for the "Default Switch" network on Windows).
    41  func TestNetworkAliasesAreEmpty(t *testing.T) {
    42  	ctx := setupTest(t)
    43  	apiClient := request.NewAPIClient(t)
    44  
    45  	netModes := []string{"host", "bridge", "none"}
    46  	if runtime.GOOS == "windows" {
    47  		netModes = []string{"nat", "none"}
    48  	}
    49  
    50  	for _, nwMode := range netModes {
    51  		t.Run(nwMode, func(t *testing.T) {
    52  			ctr := container.Create(ctx, t, apiClient,
    53  				container.WithName("ctr-"+nwMode),
    54  				container.WithImage("busybox:latest"),
    55  				container.WithNetworkMode(nwMode))
    56  			defer apiClient.ContainerRemove(ctx, ctr, containertypes.RemoveOptions{
    57  				Force: true,
    58  			})
    59  
    60  			inspect := container.Inspect(ctx, t, apiClient, ctr)
    61  			netAliases := inspect.NetworkSettings.Networks[nwMode].Aliases
    62  
    63  			assert.Check(t, is.Nil(netAliases))
    64  		})
    65  	}
    66  }