err := repo.DeleteService(serviceInstance) Expect(testHandler).To(HaveAllRequestsCalled()) Expect(err).NotTo(HaveOccurred()) }) It("doesn't delete the service when apps are bound", func() { setupTestServer() serviceInstance := models.ServiceInstance{} serviceInstance.Guid = "my-service-instance-guid" serviceInstance.ServiceBindings = []models.ServiceBindingFields{ { Url: "/v2/service_bindings/service-binding-1-guid", AppGuid: "app-1-guid", }, { Url: "/v2/service_bindings/service-binding-2-guid", AppGuid: "app-2-guid", }, } err := repo.DeleteService(serviceInstance) Expect(err.Error()).To(Equal("Cannot delete service instance, apps are still bound to it")) }) }) Describe("RenameService", func() { Context("when the service is not user provided", func() { BeforeEach(func() { setupTestServer(testapi.NewCloudControllerTestRequest(testnet.TestRequest{
BeforeEach(func() { setupTestServer(testapi.NewCloudControllerTestRequest(testnet.TestRequest{ Method: "DELETE", Path: "/v2/service_bindings/service-binding-2-guid", Response: testnet.TestResponse{Status: http.StatusOK}, })) serviceInstance.Guid = "my-service-instance-guid" binding := models.ServiceBindingFields{} binding.Url = "/v2/service_bindings/service-binding-1-guid" binding.AppGuid = "app-1-guid" binding2 := models.ServiceBindingFields{} binding2.Url = "/v2/service_bindings/service-binding-2-guid" binding2.AppGuid = "app-2-guid" serviceInstance.ServiceBindings = []models.ServiceBindingFields{binding, binding2} }) It("deletes the service binding with the given guid", func() { found, apiErr := repo.Delete(serviceInstance, "app-2-guid") Expect(testHandler).To(HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) Expect(found).To(BeTrue()) }) }) Context("when binding does not exist", func() { var serviceInstance models.ServiceInstance BeforeEach(func() {