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