Describe("PurgeServiceOffering", func() { It("purges service offerings", func() { setupTestServer(testnet.TestRequest{ Method: "DELETE", Path: "/v2/services/the-service-guid?purge=true", Response: testnet.TestResponse{ Status: 204, }}) offering := models.ServiceOffering{ServiceOfferingFields: models.ServiceOfferingFields{ Label: "the-offering", GUID: "the-service-guid", Description: "some service description", }} offering.GUID = "the-service-guid" err := repo.PurgeServiceOffering(offering) Expect(err).NotTo(HaveOccurred()) Expect(testHandler).To(HaveAllRequestsCalled()) }) }) Describe("PurgeServiceInstance", func() { It("purges service instances", func() { setupTestServer(testnet.TestRequest{ Method: "DELETE", Path: "/v2/service_instances/instance-guid?purge=true", Response: testnet.TestResponse{ Status: 204, }})
cmd.Requirements(factory, flagContext) }) It("tries to find the service offering by label", func() { ui.Inputs = []string{"n"} serviceRepo.FindServiceOfferingsByLabelReturns([]models.ServiceOffering{{}}, nil) cmd.Execute(flagContext) Expect(serviceRepo.FindServiceOfferingsByLabelCallCount()).To(Equal(1)) name := serviceRepo.FindServiceOfferingsByLabelArgsForCall(0) Expect(name).To(Equal("service-name")) }) Context("when finding the service offering succeeds", func() { BeforeEach(func() { serviceOffering := models.ServiceOffering{} serviceOffering.GUID = "service-offering-guid" serviceRepo.FindServiceOfferingsByLabelReturns([]models.ServiceOffering{serviceOffering}, nil) }) It("asks the user to confirm", func() { ui.Inputs = []string{"n"} cmd.Execute(flagContext) Expect(ui.Outputs).To(ContainSubstrings([]string{"WARNING"})) Expect(ui.Prompts).To(ContainSubstrings([]string{"Really purge service offering service-name from Cloud Foundry?"})) }) Context("when the user confirms", func() { BeforeEach(func() { ui.Inputs = []string{"y"} })