}) }) Describe("IsLastNode", func() { BeforeEach(func() { consulAPIAgent.MembersReturns([]*api.AgentMember{ &api.AgentMember{Addr: "member1", Tags: map[string]string{"role": "consul"}}, &api.AgentMember{Addr: "member2", Tags: map[string]string{"role": "consul"}}, &api.AgentMember{Addr: "member3", Tags: map[string]string{"role": "consul"}}, }, nil) client.ExpectedMembers = []string{"member1", "member2", "member3"} }) It("returns true", func() { Expect(client.IsLastNode()).To(BeTrue()) Expect(consulAPIAgent.MembersCallCount()).To(Equal(1)) }) Context("When you are not the last node", func() { BeforeEach(func() { consulAPIAgent.MembersReturns([]*api.AgentMember{ &api.AgentMember{Addr: "member1", Tags: map[string]string{"role": "consul"}}, &api.AgentMember{Addr: "member2", Tags: map[string]string{"role": "consul"}}, }, nil) }) It("returns false", func() { Expect(client.IsLastNode()).To(BeFalse()) Expect(consulAPIAgent.MembersCallCount()).To(Equal(1)) })