From 3c7a454a9de9d9a98c9ee3dae1f4ec2641de2d8d Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Thu, 28 Jan 2016 12:42:42 -0800 Subject: [PATCH] Add test Signed-off-by: Victor Vieux --- scheduler/scheduler_test.go | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 scheduler/scheduler_test.go diff --git a/scheduler/scheduler_test.go b/scheduler/scheduler_test.go new file mode 100644 index 0000000000..3032997dcc --- /dev/null +++ b/scheduler/scheduler_test.go @@ -0,0 +1,56 @@ +package scheduler + +import ( + "testing" + + "github.com/docker/swarm/cluster" + "github.com/docker/swarm/scheduler/filter" + "github.com/docker/swarm/scheduler/node" + "github.com/docker/swarm/scheduler/strategy" + "github.com/samalba/dockerclient" + "github.com/stretchr/testify/assert" +) + +func TestSelectNodesForContainer(t *testing.T) { + var ( + s = Scheduler{ + strategy: &strategy.SpreadPlacementStrategy{}, + filters: []filter.Filter{&filter.ConstraintFilter{}}, + } + + nodes = []*node.Node{ + { + ID: "node-0-id", + Name: "node-0-name", + Addr: "node-0", + TotalMemory: 1 * 1024 * 1024 * 1024, + TotalCpus: 1, + Labels: map[string]string{ + "group": "1", + }, + }, + + { + ID: "node-1-id", + Name: "node-1-name", + Addr: "node-1", + TotalMemory: 1 * 1024 * 1024 * 1024, + TotalCpus: 2, + Labels: map[string]string{ + "group": "2", + }, + }, + } + + config = cluster.BuildContainerConfig(dockerclient.ContainerConfig{ + Memory: 1024 * 1024 * 1024, + CpuShares: 2, + Env: []string{"constraint:group==~1"}, + }) + ) + candidates, err := s.SelectNodesForContainer(nodes, config) + assert.NoError(t, err) + assert.Equal(t, 1, len(candidates)) + assert.Equal(t, "node-1-id", candidates[0].ID) + +}