github.com/moby/docker@v26.1.3+incompatible/daemon/container_operations_test.go (about) 1 package daemon 2 3 import ( 4 "encoding/json" 5 "testing" 6 7 containertypes "github.com/docker/docker/api/types/container" 8 networktypes "github.com/docker/docker/api/types/network" 9 "github.com/docker/docker/container" 10 "github.com/docker/docker/libnetwork" 11 "gotest.tools/v3/assert" 12 is "gotest.tools/v3/assert/cmp" 13 ) 14 15 func TestDNSNamesOrder(t *testing.T) { 16 d := &Daemon{} 17 ctr := &container.Container{ 18 ID: "35de8003b19e27f636fc6ecbf4d7072558b872a8544f287fd69ad8182ad59023", 19 Name: "foobar", 20 Config: &containertypes.Config{ 21 Hostname: "baz", 22 }, 23 } 24 nw := buildNetwork(t, map[string]any{ 25 "id": "1234567890", 26 "name": "testnet", 27 "networkType": "bridge", 28 "enableIPv6": false, 29 }) 30 epSettings := &networktypes.EndpointSettings{ 31 Aliases: []string{"myctr"}, 32 } 33 34 if err := d.updateNetworkConfig(ctr, nw, epSettings, false); err != nil { 35 t.Fatal(err) 36 } 37 38 assert.Check(t, is.DeepEqual(epSettings.DNSNames, []string{"foobar", "myctr", "35de8003b19e", "baz"})) 39 } 40 41 func buildNetwork(t *testing.T, config map[string]any) *libnetwork.Network { 42 t.Helper() 43 44 b, err := json.Marshal(config) 45 if err != nil { 46 t.Fatal(err) 47 } 48 49 nw := &libnetwork.Network{} 50 if err := nw.UnmarshalJSON(b); err != nil { 51 t.Fatal(err) 52 } 53 54 return nw 55 }