Refactor GetForInstance so it doesn't depends on storage

This commit is contained in:
Marcos Lilljedahl
2017-08-11 18:16:14 -03:00
parent 1263f36bc8
commit fb1e50deaf
12 changed files with 52 additions and 42 deletions

View File

@@ -30,7 +30,7 @@ func (t *checkPorts) Name() string {
}
func (t *checkPorts) Run(ctx context.Context, instance *types.Instance) error {
dockerClient, err := t.factory.GetForInstance(instance.SessionId, instance.Name)
dockerClient, err := t.factory.GetForInstance(instance)
if err != nil {
log.Println(err)
return err

View File

@@ -26,16 +26,16 @@ func TestCheckPorts_Run(t *testing.T) {
e := &event.Mock{}
f := &docker.FactoryMock{}
d.On("GetPorts").Return([]uint16{8080, 9090}, nil)
f.On("GetForInstance", "aaaabbbbcccc", "aaaabbbb_node1").Return(d, nil)
e.M.On("Emit", CheckPortsEvent, "aaaabbbbcccc", []interface{}{DockerPorts{Instance: "aaaabbbb_node1", Ports: []int{8080, 9090}}}).Return()
i := &types.Instance{
IP: "10.0.0.1",
Name: "aaaabbbb_node1",
SessionId: "aaaabbbbcccc",
}
d.On("GetPorts").Return([]uint16{8080, 9090}, nil)
f.On("GetForInstance", i).Return(d, nil)
e.M.On("Emit", CheckPortsEvent, "aaaabbbbcccc", []interface{}{DockerPorts{Instance: "aaaabbbb_node1", Ports: []int{8080, 9090}}}).Return()
task := NewCheckPorts(e, f)
ctx := context.Background()

View File

@@ -32,7 +32,7 @@ func (t *checkSwarmPorts) Name() string {
}
func (t *checkSwarmPorts) Run(ctx context.Context, instance *types.Instance) error {
dockerClient, err := t.factory.GetForInstance(instance.SessionId, instance.Name)
dockerClient, err := t.factory.GetForInstance(instance)
if err != nil {
log.Println(err)
return err

View File

@@ -40,7 +40,7 @@ func TestCheckSwarmPorts_RunWhenManager(t *testing.T) {
},
}
f.On("GetForInstance", "aaaabbbbcccc", "aaaabbbb_node1").Return(d, nil)
f.On("GetForInstance", i).Return(d, nil)
d.On("GetDaemonInfo").Return(info, nil)
d.On("GetSwarmPorts").Return([]string{"node1", "node2"}, []uint16{8080, 9090}, nil)
e.M.On("Emit", CheckSwarmPortsEvent, "aaaabbbbcccc", []interface{}{DockerSwarmPorts{Manager: i.Name, Instances: []string{i.Name, "aaaabbbb_node2"}, Ports: []int{8080, 9090}}}).Return()

View File

@@ -32,7 +32,7 @@ func (t *checkSwarmStatus) Name() string {
}
func (t *checkSwarmStatus) Run(ctx context.Context, instance *types.Instance) error {
dockerClient, err := t.factory.GetForInstance(instance.SessionId, instance.Name)
dockerClient, err := t.factory.GetForInstance(instance)
if err != nil {
log.Println(err)
return err

View File

@@ -39,7 +39,7 @@ func TestCheckSwarmStatus_RunWhenInactive(t *testing.T) {
},
}
f.On("GetForInstance", "aaabbbccc", "node1").Return(d, nil)
f.On("GetForInstance", i).Return(d, nil)
d.On("GetDaemonInfo").Return(infoInactive, nil)
e.M.On("Emit", CheckSwarmStatusEvent, "aaabbbccc", []interface{}{DockerSwarmStatus{IsManager: false, IsWorker: false, Instance: "node1"}}).Return()
@@ -70,7 +70,7 @@ func TestCheckSwarmStatus_RunWhenLocked(t *testing.T) {
},
}
f.On("GetForInstance", "aaabbbccc", "node1").Return(d, nil)
f.On("GetForInstance", i).Return(d, nil)
d.On("GetDaemonInfo").Return(infoLocked, nil)
e.M.On("Emit", CheckSwarmStatusEvent, "aaabbbccc", []interface{}{DockerSwarmStatus{IsManager: false, IsWorker: false, Instance: "node1"}}).Return()
@@ -102,7 +102,7 @@ func TestCheckSwarmStatus_RunWhenManager(t *testing.T) {
},
}
f.On("GetForInstance", "aaabbbccc", "node1").Return(d, nil)
f.On("GetForInstance", i).Return(d, nil)
d.On("GetDaemonInfo").Return(infoLocked, nil)
e.M.On("Emit", CheckSwarmStatusEvent, "aaabbbccc", []interface{}{DockerSwarmStatus{IsManager: true, IsWorker: false, Instance: "node1"}}).Return()
@@ -134,7 +134,7 @@ func TestCheckSwarmStatus_RunWhenWorker(t *testing.T) {
},
}
f.On("GetForInstance", "aaabbbccc", "node1").Return(d, nil)
f.On("GetForInstance", i).Return(d, nil)
d.On("GetDaemonInfo").Return(infoLocked, nil)
e.M.On("Emit", CheckSwarmStatusEvent, "aaabbbccc", []interface{}{DockerSwarmStatus{IsManager: false, IsWorker: true, Instance: "node1"}}).Return()