brokers, err := brokerBuilder.GetAllServiceBrokers() Expect(err).NotTo(HaveOccurred()) Expect(len(brokers)).To(Equal(1)) Expect(brokers[0].Name).To(Equal("my-service-broker")) Expect(brokers[0].Services[0].Label).To(Equal("my-public-service")) Expect(len(brokers[0].Services[0].Plans)).To(Equal(2)) Expect(brokers[0].Services[1].Label).To(Equal("my-other-public-service")) Expect(len(brokers[0].Services[0].Plans)).To(Equal(2)) }) }) Describe(".GetBrokerWithAllServices", func() { It("returns a service broker populated with their services", func() { brokerRepo.FindByNameServiceBroker = serviceBroker1 serviceBuilder.GetServicesForBrokerReturns(services, nil) broker, err := brokerBuilder.GetBrokerWithAllServices("my-service-broker") 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)) }) }) Describe(".GetBrokerWithSpecifiedService", func() { It("returns an error if a broker containeing the specific service cannot be found", func() { serviceBuilder.GetServiceByNameWithPlansWithOrgNamesReturns(models.ServiceOffering{}, errors.New("Asplosions")) _, err := brokerBuilder.GetBrokerWithSpecifiedService("totally-not-a-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.GetServicesForBrokerReturns(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} serviceBuilder.GetServicesForBrokerReturns(services, nil) brokers, err := brokerBuilder.GetAllServiceBrokers() Expect(err).NotTo(HaveOccurred()) Expect(len(brokers)).To(Equal(1)) Expect(brokers[0].Name).To(Equal("my-service-broker")) Expect(brokers[0].Services[0].Label).To(Equal("my-public-service")) Expect(len(brokers[0].Services[0].Plans)).To(Equal(2))