mirror of https://github.com/docker/docs.git
add test
This commit is contained in:
parent
cf65a010d6
commit
0872d4f549
|
|
@ -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)
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue