}) It("TestDeleteServiceBinding", func() { ts, handler, repo := createServiceBindingRepo([]testnet.TestRequest{deleteBindingReq}) defer ts.Close() serviceInstance := models.ServiceInstance{} 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} found, apiErr := repo.Delete(serviceInstance, "app-2-guid") Expect(handler).To(testnet.HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) Expect(found).To(BeTrue()) }) It("TestDeleteServiceBindingWhenBindingDoesNotExist", func() { ts, handler, repo := createServiceBindingRepo([]testnet.TestRequest{}) defer ts.Close() serviceInstance := models.ServiceInstance{} serviceInstance.Guid = "my-service-instance-guid"
err := repo.DeleteService(serviceInstance) Expect(testHandler).To(testnet.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{