mirror of https://github.com/docker/docs.git
61 lines
1.9 KiB
Go
61 lines
1.9 KiB
Go
package cluster
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/docker/engine-api/types"
|
|
containertypes "github.com/docker/engine-api/types/container"
|
|
networktypes "github.com/docker/engine-api/types/network"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestContainersGet(t *testing.T) {
|
|
containers := Containers([]*Container{{
|
|
Container: types.Container{
|
|
ID: "container1-id",
|
|
Names: []string{"/container1-name1", "/container1-name2"},
|
|
},
|
|
Engine: &Engine{ID: "test-engine"},
|
|
Config: BuildContainerConfig(containertypes.Config{
|
|
Labels: map[string]string{
|
|
"com.docker.swarm.id": "swarm1-id",
|
|
},
|
|
}, containertypes.HostConfig{}, networktypes.NetworkingConfig{}),
|
|
}, {
|
|
Container: types.Container{
|
|
ID: "container2-id",
|
|
Names: []string{"/con"},
|
|
},
|
|
Engine: &Engine{ID: "test-engine"},
|
|
Config: BuildContainerConfig(containertypes.Config{
|
|
Labels: map[string]string{
|
|
"com.docker.swarm.id": "swarm2-id",
|
|
},
|
|
}, containertypes.HostConfig{}, networktypes.NetworkingConfig{}),
|
|
}})
|
|
|
|
// Invalid lookup
|
|
assert.Nil(t, containers.Get("invalid-id"))
|
|
assert.Nil(t, containers.Get(""))
|
|
// Container ID lookup.
|
|
assert.NotNil(t, containers.Get("container1-id"))
|
|
// Container ID prefix lookup.
|
|
assert.NotNil(t, containers.Get("container1-"))
|
|
assert.Nil(t, containers.Get("container"))
|
|
// Container name lookup.
|
|
assert.NotNil(t, containers.Get("container1-name1"))
|
|
assert.NotNil(t, containers.Get("container1-name2"))
|
|
// Container engine/name matching.
|
|
assert.NotNil(t, containers.Get("test-engine/container1-name1"))
|
|
assert.NotNil(t, containers.Get("test-engine/container1-name2"))
|
|
// Swarm ID lookup.
|
|
assert.NotNil(t, containers.Get("swarm1-id"))
|
|
// Swarm ID prefix lookup.
|
|
assert.NotNil(t, containers.Get("swarm1-"))
|
|
assert.Nil(t, containers.Get("swarm"))
|
|
// Get name before ID prefix
|
|
cc := containers.Get("con")
|
|
assert.NotNil(t, cc)
|
|
assert.Equal(t, cc.ID, "container2-id")
|
|
}
|