diff --git a/client/consul/sync.go b/client/consul/sync.go index e6092c0e0..e1d16b9c9 100644 --- a/client/consul/sync.go +++ b/client/consul/sync.go @@ -139,17 +139,19 @@ func (c *ConsulService) SetAllocID(allocID string) *ConsulService { return c } +// SetAddrFinder sets a function to find the host and port for a Service func (c *ConsulService) SetAddrFinder(addrFinder func(string) (string, int)) *ConsulService { c.addrFinder = addrFinder return c } +// SetTaskName sets the task name whose services we are syncing with Consul func (c *ConsulService) SetTaskName(taskName string) *ConsulService { c.taskName = taskName return c } -// SyncTask sync the services and task with consul +// SyncServices sync the services with consul func (c *ConsulService) SyncServices(services []*structs.Service) error { var mErr multierror.Error taskServices := make(map[string]*consul.AgentService) diff --git a/client/consul/sync_test.go b/client/consul/sync_test.go index c69a0caeb..df6a7d778 100644 --- a/client/consul/sync_test.go +++ b/client/consul/sync_test.go @@ -51,7 +51,9 @@ func TestConsulServiceRegisterServices(t *testing.T) { return } task := mockTask() - if err := cs.SyncTask(task); err != nil { + cs.SetTaskName(task.Name) + cs.SetAddrFinder(task.FindHostAndPortFor) + if err := cs.SyncServices(task.Services); err != nil { t.Fatalf("err: %v", err) } defer cs.Shutdown() @@ -78,7 +80,9 @@ func TestConsulServiceUpdateService(t *testing.T) { } task := mockTask() - if err := cs.SyncTask(task); err != nil { + cs.SetTaskName(task.Name) + cs.SetAddrFinder(task.FindHostAndPortFor) + if err := cs.SyncServices(task.Services); err != nil { t.Fatalf("err: %v", err) } defer cs.Shutdown() @@ -86,7 +90,7 @@ func TestConsulServiceUpdateService(t *testing.T) { //Update Service defn 1 newTags := []string{"tag3"} task.Services[0].Tags = newTags - if err := cs.SyncTask(task); err != nil { + if err := cs.SyncServices(task.Services); err != nil { t.Fatalf("err: %v", err) } // Make sure all the services and checks are still present