This commit is contained in:
Victor Vieux 2014-11-25 01:43:01 +00:00
parent cf65a010d6
commit 0872d4f549
1 changed files with 41 additions and 0 deletions

41
cluster/cluster_test.go Normal file
View File

@ -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)
}