Describe("fetching cell reps", func() { Context("when the BSS succeeds", func() { BeforeEach(func() { cellPresence1 := models.NewCellPresence("cell-A", "cell-a.url", "zone-1", models.NewCellCapacity(123, 456, 789), []string{}, []string{}) cellPresence2 := models.NewCellPresence("cell-B", "cell-b.url", "zone-1", models.NewCellCapacity(123, 456, 789), []string{}, []string{}) cells := []*models.CellPresence{&cellPresence1, &cellPresence2} bbsClient.CellsReturns(cells, nil) }) It("creates rep clients with the correct addresses", func() { _, err := delegate.FetchCellReps() Expect(err).NotTo(HaveOccurred()) Expect(repClientFactory.CreateClientCallCount()).To(Equal(2)) urls := []string{ repClientFactory.CreateClientArgsForCall(0), repClientFactory.CreateClientArgsForCall(1), } Expect(urls).To(ConsistOf("cell-a.url", "cell-b.url")) }) It("returns correctly configured auction_http_clients", func() { reps, err := delegate.FetchCellReps() Expect(err).NotTo(HaveOccurred()) Expect(reps).To(HaveLen(2)) Expect(reps).To(HaveKey("cell-A")) Expect(reps).To(HaveKey("cell-B")) Expect(reps["cell-A"]).To(Equal(repClient)) Expect(reps["cell-B"]).To(Equal(repClient)) })