mirror of https://github.com/docker/docs.git
83 lines
1.8 KiB
Go
83 lines
1.8 KiB
Go
package cluster
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/samalba/dockerclient"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNetworksFilter(t *testing.T) {
|
|
engine := &Engine{ID: "id"}
|
|
networks := Networks{
|
|
{dockerclient.NetworkResource{
|
|
ID: "ababababab",
|
|
Name: "something",
|
|
}, engine},
|
|
{dockerclient.NetworkResource{
|
|
ID: "aaaaaaaaaa1",
|
|
Name: "network_name",
|
|
}, engine},
|
|
{dockerclient.NetworkResource{
|
|
ID: "bbbbbbbbbb",
|
|
Name: "somethingelse",
|
|
}, engine},
|
|
{dockerclient.NetworkResource{
|
|
ID: "aaaaaaaaa2",
|
|
Name: "foo",
|
|
}, engine},
|
|
}
|
|
|
|
filtered := networks.Filter([]string{"network_name"}, []string{"abababab"})
|
|
assert.Equal(t, len(filtered), 2)
|
|
for _, network := range filtered {
|
|
assert.True(t, network.ID == "aaaaaaaaaa1" || network.ID == "ababababab")
|
|
}
|
|
}
|
|
|
|
func TestNetworkUniq(t *testing.T) {
|
|
engine1 := &Engine{ID: "id1"}
|
|
engine2 := &Engine{ID: "id2"}
|
|
networks := Networks{
|
|
{dockerclient.NetworkResource{
|
|
ID: "global",
|
|
Name: "global",
|
|
Containers: map[string]dockerclient.EndpointResource{
|
|
"c1": {},
|
|
},
|
|
}, engine1},
|
|
{dockerclient.NetworkResource{
|
|
ID: "global",
|
|
Name: "global",
|
|
Containers: map[string]dockerclient.EndpointResource{
|
|
"c2": {},
|
|
},
|
|
}, engine2},
|
|
{dockerclient.NetworkResource{
|
|
ID: "local1",
|
|
Name: "local",
|
|
Containers: map[string]dockerclient.EndpointResource{
|
|
"c3": {},
|
|
},
|
|
}, engine1},
|
|
{dockerclient.NetworkResource{
|
|
ID: "local2",
|
|
Name: "local",
|
|
Containers: map[string]dockerclient.EndpointResource{
|
|
"c4": {},
|
|
},
|
|
}, engine2},
|
|
}
|
|
|
|
global := networks.Uniq().Get("global")
|
|
assert.NotNil(t, global)
|
|
assert.Equal(t, 2, len(global.Containers))
|
|
|
|
local1 := networks.Uniq().Get("local1")
|
|
assert.NotNil(t, local1)
|
|
assert.Equal(t, 1, len(local1.Containers))
|
|
|
|
local3 := networks.Uniq().Get("local3")
|
|
assert.Nil(t, local3)
|
|
}
|