mirror of https://github.com/docker/docs.git
add initial version of mesos/cluster_test.go
Signed-off-by: Victor Vieux <victorvieux@gmail.com>
This commit is contained in:
parent
c1934925fe
commit
ec784bd100
|
@ -0,0 +1,78 @@
|
||||||
|
package mesos
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"github.com/docker/swarm/cluster"
|
||||||
|
"github.com/samalba/dockerclient"
|
||||||
|
"github.com/stretchr/testify/assert"
|
||||||
|
)
|
||||||
|
|
||||||
|
func createSlave(t *testing.T, ID string, containers ...*cluster.Container) *slave {
|
||||||
|
engine := cluster.NewEngine(ID, 0)
|
||||||
|
engine.Name = ID
|
||||||
|
engine.ID = ID
|
||||||
|
|
||||||
|
for _, container := range containers {
|
||||||
|
container.Engine = engine
|
||||||
|
engine.AddContainer(container)
|
||||||
|
}
|
||||||
|
|
||||||
|
return newSlave("slave-"+ID, engine)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestContainerLookup(t *testing.T) {
|
||||||
|
c := &Cluster{
|
||||||
|
slaves: make(map[string]*slave),
|
||||||
|
}
|
||||||
|
container1 := &cluster.Container{
|
||||||
|
Container: dockerclient.Container{
|
||||||
|
Id: "container1-id",
|
||||||
|
Names: []string{"/container1-name1", "/container1-name2"},
|
||||||
|
},
|
||||||
|
Config: cluster.BuildContainerConfig(dockerclient.ContainerConfig{
|
||||||
|
Labels: map[string]string{
|
||||||
|
"com.docker.swarm.id": "swarm1-id",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
container2 := &cluster.Container{
|
||||||
|
Container: dockerclient.Container{
|
||||||
|
Id: "container2-id",
|
||||||
|
Names: []string{"/con"},
|
||||||
|
},
|
||||||
|
Config: cluster.BuildContainerConfig(dockerclient.ContainerConfig{
|
||||||
|
Labels: map[string]string{
|
||||||
|
"com.docker.swarm.id": "swarm2-id",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
|
||||||
|
s := createSlave(t, "test-engine", container1, container2)
|
||||||
|
c.slaves[s.id] = s
|
||||||
|
|
||||||
|
// Invalid lookup
|
||||||
|
assert.Nil(t, c.Container("invalid-id"))
|
||||||
|
assert.Nil(t, c.Container(""))
|
||||||
|
// Container ID lookup.
|
||||||
|
assert.NotNil(t, c.Container("container1-id"))
|
||||||
|
// Container ID prefix lookup.
|
||||||
|
assert.NotNil(t, c.Container("container1-"))
|
||||||
|
assert.Nil(t, c.Container("container"))
|
||||||
|
// Container name lookup.
|
||||||
|
assert.NotNil(t, c.Container("container1-name1"))
|
||||||
|
assert.NotNil(t, c.Container("container1-name2"))
|
||||||
|
// Container engine/name matching.
|
||||||
|
assert.NotNil(t, c.Container("test-engine/container1-name1"))
|
||||||
|
assert.NotNil(t, c.Container("test-engine/container1-name2"))
|
||||||
|
// Swarm ID lookup.
|
||||||
|
assert.NotNil(t, c.Container("swarm1-id"))
|
||||||
|
// Swarm ID prefix lookup.
|
||||||
|
assert.NotNil(t, c.Container("swarm1-"))
|
||||||
|
assert.Nil(t, c.Container("swarm"))
|
||||||
|
// Match name before ID prefix
|
||||||
|
cc := c.Container("con")
|
||||||
|
assert.NotNil(t, cc)
|
||||||
|
assert.Equal(t, cc.Id, "container2-id")
|
||||||
|
}
|
Loading…
Reference in New Issue