It("returns json with a description field and a useful error message", func() { response := makeInstanceProvisioningRequest(instanceID, details) Expect(response.Body).To(MatchJSON(fixture("instance_limit_error.json"))) }) It("logs an appropriate error", func() { makeInstanceProvisioningRequest(instanceID, details) Expect(lastLogLine().Message).To(ContainSubstring("provision.instance-limit-reached")) Expect(lastLogLine().Data["error"]).To(ContainSubstring("instance limit for this service has been reached")) }) }) Context("when an unexpected error occurs", func() { BeforeEach(func() { fakeServiceBroker.ProvisionError = errors.New("broker failed") }) It("returns a 500", func() { response := makeInstanceProvisioningRequest(instanceID, details) Expect(response.StatusCode).To(Equal(500)) }) It("returns json with a description field and a useful error message", func() { response := makeInstanceProvisioningRequest(instanceID, details) Expect(response.Body).To(MatchJSON(`{"description":"broker failed"}`)) }) It("logs an appropriate error", func() { makeInstanceProvisioningRequest(instanceID, details) Expect(lastLogLine().Message).To(ContainSubstring("provision.unknown-error"))
It("returns json with a description field and a useful error message", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.Body).To(MatchJSON(fixture("instance_limit_error.json"))) }) It("logs an appropriate error", func() { makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(lastLogLine().Message).To(ContainSubstring("provision.instance-limit-reached")) Expect(lastLogLine().Data["error"]).To(ContainSubstring("instance limit for this service has been reached")) }) }) Context("when an unexpected error occurs", func() { BeforeEach(func() { fakeServiceBroker.ProvisionError = errors.New("broker failed") }) It("returns a 500", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.StatusCode).To(Equal(500)) }) It("returns json with a description field and a useful error message", func() { response := makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(response.Body).To(MatchJSON(`{"description":"broker failed"}`)) }) It("logs an appropriate error", func() { makeInstanceProvisioningRequest(instanceID, provisionDetails, "") Expect(lastLogLine().Message).To(ContainSubstring("provision.unknown-error"))