Guid: "my-other-public-service-guid", BrokerGuid: "my-service-broker-guid", }, Plans: []models.ServicePlanFields{ publicServicePlan, privateServicePlan, }, } services = models.ServiceOfferings( []models.ServiceOffering{ service1, service2, }) brokerRepo.FindByGuidServiceBroker = serviceBroker1 }) Describe(".AttachBrokersToServices", func() { It("attaches brokers to an array of services", func() { brokers, err := brokerBuilder.AttachBrokersToServices(services) 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)) })
Expect(err).To(HaveOccurred()) }) It("returns a slice of brokers containing Services/Service Plans visible to the org", func() { servicePlanRepo.SearchReturns = map[string][]models.ServicePlanFields{ "service-guid": { {Name: "service-plan", Guid: "service-plan-guid", ServiceOfferingGuid: "service-guid"}, {Name: "other-plan", Guid: "other-plan-guid", ServiceOfferingGuid: "service-guid", Public: true}, {Name: "private-plan", Guid: "private-plan-guid", ServiceOfferingGuid: "service-guid", Public: false}, }, } serviceRepo.GetServiceOfferingByGuidReturns.ServiceOffering = models.ServiceOffering{ ServiceOfferingFields: models.ServiceOfferingFields{Guid: "service-guid", Label: "my-service", BrokerGuid: "my-service-broker-guid"}, } serviceRepo.GetServiceOfferingByGuidReturns.Error = nil brokerRepo.FindByGuidServiceBroker = models.ServiceBroker{Guid: "my-service-broker-guid", Name: "my-service-broker"} brokers, err := actor.FilterBrokers("", "", "org1") Expect(err).NotTo(HaveOccurred()) Expect(len(brokers)).To(Equal(1)) Expect(len(brokers[0].Services)).To(Equal(1)) Expect(len(brokers[0].Services[0].Plans)).To(Equal(2)) Expect(brokers[0].Services[0].Guid).To(Equal("service-guid")) Expect(brokers[0].Services[0].Plans[0].Name).To(Equal("service-plan")) Expect(brokers[0].Services[0].Plans[0].OrgNames).To(Equal([]string{"org1", "org2"})) Expect(brokers[0].Services[0].Plans[1].Name).To(Equal("other-plan")) }) It("ignores any service that does not have a a broker guid attached", func() {