ConsulAPIAgent: consulAPIAgent, ConsulRPCClient: consulRPCClient, } }) Describe("VerifyJoined", func() { Context("when the set of members includes at least one that we expect", func() { It("succeeds", func() { consulAPIAgent.MembersReturns([]*api.AgentMember{ &api.AgentMember{Addr: "member1"}, &api.AgentMember{Addr: "member2"}, &api.AgentMember{Addr: "member3"}, }, nil) client.ExpectedMembers = []string{"member1", "member2", "member3"} Expect(client.VerifyJoined()).To(Succeed()) Expect(consulAPIAgent.MembersArgsForCall(0)).To(BeFalse()) }) }) Context("when the members are all strangers", func() { It("returns an error", func() { consulAPIAgent.MembersReturns([]*api.AgentMember{ &api.AgentMember{Addr: "member1"}, &api.AgentMember{Addr: "member2"}, &api.AgentMember{Addr: "member3"}, }, nil) client.ExpectedMembers = []string{"member4", "member5"} Expect(client.VerifyJoined()).To(MatchError("no expected members")) Expect(consulAPIAgent.MembersArgsForCall(0)).To(BeFalse())