mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Add integration test for network connect with alias
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
parent
d63a5a1ff5
commit
50af496891
1 changed files with 86 additions and 0 deletions
86
integration/service/network_test.go
Normal file
86
integration/service/network_test.go
Normal file
|
@ -0,0 +1,86 @@
|
|||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/container"
|
||||
"github.com/docker/docker/api/types/network"
|
||||
"github.com/docker/docker/integration-cli/request"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestDockerNetworkConnectAlias(t *testing.T) {
|
||||
defer setupTest(t)()
|
||||
d := newSwarm(t)
|
||||
defer d.Stop(t)
|
||||
client, err := request.NewClientForHost(d.Sock())
|
||||
require.NoError(t, err)
|
||||
ctx := context.Background()
|
||||
|
||||
name := "test-alias"
|
||||
_, err = client.NetworkCreate(ctx, name, types.NetworkCreate{
|
||||
Driver: "overlay",
|
||||
Attachable: true,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
_, err = client.ContainerCreate(ctx,
|
||||
&container.Config{
|
||||
Cmd: []string{"top"},
|
||||
Image: "busybox",
|
||||
},
|
||||
&container.HostConfig{},
|
||||
&network.NetworkingConfig{
|
||||
EndpointsConfig: map[string]*network.EndpointSettings{
|
||||
name: {},
|
||||
},
|
||||
},
|
||||
"ng1",
|
||||
)
|
||||
require.NoError(t, err)
|
||||
err = client.NetworkConnect(ctx, name, "ng1", &network.EndpointSettings{
|
||||
Aliases: []string{
|
||||
"aaa",
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
err = client.ContainerStart(ctx, "ng1", types.ContainerStartOptions{})
|
||||
require.NoError(t, err)
|
||||
|
||||
ng1, err := client.ContainerInspect(ctx, "ng1")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, len(ng1.NetworkSettings.Networks[name].Aliases), 2)
|
||||
assert.Equal(t, ng1.NetworkSettings.Networks[name].Aliases[0], "aaa")
|
||||
|
||||
_, err = client.ContainerCreate(ctx,
|
||||
&container.Config{
|
||||
Cmd: []string{"top"},
|
||||
Image: "busybox",
|
||||
},
|
||||
&container.HostConfig{},
|
||||
&network.NetworkingConfig{
|
||||
EndpointsConfig: map[string]*network.EndpointSettings{
|
||||
name: {},
|
||||
},
|
||||
},
|
||||
"ng2",
|
||||
)
|
||||
require.NoError(t, err)
|
||||
err = client.NetworkConnect(ctx, name, "ng2", &network.EndpointSettings{
|
||||
Aliases: []string{
|
||||
"bbb",
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
err = client.ContainerStart(ctx, "ng2", types.ContainerStartOptions{})
|
||||
require.NoError(t, err)
|
||||
|
||||
ng2, err := client.ContainerInspect(ctx, "ng2")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, len(ng2.NetworkSettings.Networks[name].Aliases), 2)
|
||||
assert.Equal(t, ng2.NetworkSettings.Networks[name].Aliases[0], "bbb")
|
||||
}
|
Loading…
Add table
Reference in a new issue