diff --git a/sd/eureka/instancer.go b/sd/eureka/instancer.go index fddbbb5..69c4556 100644 --- a/sd/eureka/instancer.go +++ b/sd/eureka/instancer.go @@ -105,3 +105,8 @@ func (s *Instancer) Deregister(ch chan<- sd.Event) { s.cache.Deregister(ch) } + +// state returns the current state of instance.Cache, only for testing +func (s *Instancer) state() sd.Event { + return s.cache.State() +} diff --git a/sd/eureka/integration_test.go b/sd/eureka/integration_test.go index 2a8dfd6..3cd6cae 100644 --- a/sd/eureka/integration_test.go +++ b/sd/eureka/integration_test.go @@ -56,7 +56,7 @@ defer instancer.Stop() // We should have one instance immediately after subscriber instantiation. - state := instancer.State() + state := instancer.state() if state.Err != nil { t.Error(state.Err) } @@ -74,7 +74,7 @@ time.Sleep(2 * time.Second) // Now we should have two instances. - state = instancer.State() + state = instancer.state() if state.Err != nil { t.Error(state.Err) } @@ -89,11 +89,11 @@ time.Sleep(2 * time.Second) // And then there was one. - endpoints, err = endpointer.Endpoints() - if err != nil { - t.Error(err) + state = instancer.state() + if state.Err != nil { + t.Error(state.Err) } - if want, have := 1, len(endpoints); want != have { + if want, have := 1, len(state.Instances); want != have { t.Errorf("want %d, have %d", want, have) } } diff --git a/sd/zk/instancer.go b/sd/zk/instancer.go index c81e01d..6319998 100644 --- a/sd/zk/instancer.go +++ b/sd/zk/instancer.go @@ -88,3 +88,8 @@ func (s *Instancer) Deregister(ch chan<- sd.Event) { s.cache.Deregister(ch) } + +// state returns the current state of instance.Cache, only for testing +func (s *Instancer) state() sd.Event { + return s.cache.State() +} diff --git a/sd/zk/integration_test.go b/sd/zk/integration_test.go index 6c60443..e4aff65 100644 --- a/sd/zk/integration_test.go +++ b/sd/zk/integration_test.go @@ -35,17 +35,17 @@ } defer c1.Stop() - s, err := NewSubscriber(c1, path, newFactory(""), logger) + instancer, err := NewInstancer(c1, path, logger) if err != nil { t.Fatalf("Unable to create Subscriber: %v", err) } - defer s.Stop() - - services, err := s.Endpoints() - if err != nil { - t.Fatal(err) - } - if want, have := 0, len(services); want != have { + defer instancer.Stop() + + state := instancer.state() + if state.Err != nil { + t.Fatal(err) + } + if want, have := 0, len(state.Instances); want != have { t.Errorf("want %d, have %d", want, have) } @@ -70,7 +70,7 @@ c, _ := NewClient(host, logger) defer c.Stop() - _, err := NewSubscriber(c, "invalid/path", newFactory(""), logger) + _, err := NewInstancer(c, "invalid/path", logger) if want, have := stdzk.ErrInvalidPath, err; want != have { t.Errorf("want %v, have %v", want, have) @@ -82,7 +82,7 @@ c, _ := NewClient(host, logger, ACL(acl), Credentials("user", "secret")) defer c.Stop() - _, err := NewSubscriber(c, "/acl-issue-test", newFactory(""), logger) + _, err := NewInstancer(c, "/acl-issue-test", logger) if err != nil { t.Fatal(err) @@ -94,7 +94,7 @@ c, _ := NewClient(host, logger, ACL(acl)) defer c.Stop() - _, err := NewSubscriber(c, "/acl-issue-test", newFactory(""), logger) + _, err := NewInstancer(c, "/acl-issue-test", logger) if err != stdzk.ErrNoAuth { t.Errorf("want %v, have %v", stdzk.ErrNoAuth, err) @@ -105,7 +105,7 @@ c, _ := NewClient(host, logger) c.Stop() - _, err := NewSubscriber(c, "/acl-issue-test", newFactory(""), logger) + _, err := NewInstancer(c, "/acl-issue-test", logger) if err != ErrClientClosed { t.Errorf("want %v, have %v", ErrClientClosed, err) @@ -123,7 +123,7 @@ defer c1.Stop() c2, err := NewClient(host, logger) - s, err := NewSubscriber(c2, path, newFactory(""), logger) + s, err := NewInstancer(c2, path, logger) if err != nil { t.Fatal(err) } @@ -148,11 +148,11 @@ time.Sleep(50 * time.Millisecond) - services, err := s.Endpoints() - if err != nil { - t.Fatal(err) - } - if want, have := 2, len(services); want != have { + state := s.state() + if state.Err != nil { + t.Fatal(state.Err) + } + if want, have := 2, len(state.Instances); want != have { t.Errorf("want %d, have %d", want, have) } }