From 0872d4f5493e8ef990a89df03c086b4ec8aa280e Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Tue, 25 Nov 2014 01:43:01 +0000 Subject: [PATCH] add test --- cluster/cluster_test.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 cluster/cluster_test.go diff --git a/cluster/cluster_test.go b/cluster/cluster_test.go new file mode 100644 index 0000000000..03cf2c1fcf --- /dev/null +++ b/cluster/cluster_test.go @@ -0,0 +1,41 @@ +package cluster + +import ( + "testing" + + "github.com/samalba/dockerclient" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" +) + +func createNode(t *testing.T, ID string) *Node { + node := NewNode(ID) + + assert.False(t, node.IsConnected()) + + client := dockerclient.NewMockClient() + client.On("Info").Return(mockInfo, nil) + client.On("ListContainers", true, false, "").Return([]dockerclient.Container{}, nil) + client.On("StartMonitorEvents", mock.Anything, mock.Anything).Return() + + assert.NoError(t, node.connectClient(client)) + assert.True(t, node.IsConnected()) + node.ID = ID + + return node +} + +func TestAddNode(t *testing.T) { + c := NewCluster() + + assert.Equal(t, len(c.Nodes()), 0) + + assert.NoError(t, c.AddNode(createNode(t, "test"))) + assert.Equal(t, len(c.Nodes()), 1) + + assert.Error(t, c.AddNode(createNode(t, "test"))) + assert.Equal(t, len(c.Nodes()), 1) + + assert.NoError(t, c.AddNode(createNode(t, "test2"))) + assert.Equal(t, len(c.Nodes()), 2) +}