brokerRepo.FindByNameServiceBroker = serviceBroker1 broker, err := brokerBuilder.AttachSpecificBrokerToServices("my-service-broker", services) Expect(err).NotTo(HaveOccurred()) Expect(broker.Name).To(Equal("my-service-broker")) Expect(broker.Services[0].Label).To(Equal("my-public-service")) Expect(len(broker.Services[0].Plans)).To(Equal(2)) Expect(broker.Services[1].Label).To(Equal("my-other-public-service")) Expect(len(broker.Services[0].Plans)).To(Equal(2)) Expect(len(broker.Services)).To(Equal(2)) }) }) Describe(".GetAllServiceBrokers", func() { It("returns an error if we cannot list all brokers", func() { brokerRepo.ListErr = true _, err := brokerBuilder.GetAllServiceBrokers() Expect(err).To(HaveOccurred()) }) It("returns an error if we cannot list the services for a broker", func() { brokerRepo.ServiceBrokers = []models.ServiceBroker{serviceBroker1} serviceBuilder.GetServicesForManyBrokersReturns(nil, errors.New("Cannot find services")) _, err := brokerBuilder.GetAllServiceBrokers() Expect(err).To(HaveOccurred()) }) It("returns all service brokers populated with their services", func() { brokerRepo.ServiceBrokers = []models.ServiceBroker{serviceBroker1}
Expect(ui.Outputs).To(BeInDisplayOrder( []string{"Getting service brokers as", "my-user"}, []string{"name", "url"}, []string{"123-service-broker-to-list", "http://service-d-url.com"}, []string{"a-service-broker-to-list", "http://service-c-url.com"}, []string{"fun-service-broker-to-list", "http://service-b-url.com"}, []string{"z-service-broker-to-list", "http://service-a-url.com"}, )) }) It("says when no service brokers were found", func() { testcmd.RunCliCommand("service-brokers", []string{}, requirementsFactory, updateCommandDependency, false) Expect(ui.Outputs).To(ContainSubstrings( []string{"Getting service brokers as", "my-user"}, []string{"No service brokers found"}, )) }) It("reports errors when listing service brokers", func() { repo.ListErr = true testcmd.RunCliCommand("service-brokers", []string{}, requirementsFactory, updateCommandDependency, false) Expect(ui.Outputs).To(ContainSubstrings( []string{"Getting service brokers as ", "my-user"}, )) Expect(strings.Join(ui.Outputs, "\n")).To(MatchRegexp(`FAILED\nError finding service brokers`)) }) })