Expect(policy.Priority).To(Equal(config.Rabbitmq.Policy.Priority))

		})

		Context("when policy creations fails", func() {
			It("logs and returns the error", func() {
				client.PutPolicyReturns(nil, fmt.Errorf("create-policy-failed"))
				_, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false)
				Expect(err).To(MatchError("create-policy-failed"))
				Expect(logger.LogMessages()).To(ContainElement(ContainSubstring("Failed to provision a service: my-service-id")))
			})

			It("should clean up", func() {
				client.PutPolicyReturns(nil, fmt.Errorf("create-policy-failed"))
				broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false)
				Expect(client.DeleteVhostCallCount()).To(Equal(1))
				Expect(client.DeleteVhostArgsForCall(0)).To(Equal("my-service-id"))
			})
		})

		Context("when the creating policy is disabled", func() {
			It("does not create a policy", func() {
				config.Rabbitmq.Policy.Enabled = false
				_, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false)
				Expect(client.PutPolicyCallCount()).To(Equal(0))
				Expect(err).NotTo(HaveOccurred())
			})
			Context("with error status code", func() {
				It("returns the status as error", func() {
					client.PutPolicyReturns(&http.Response{StatusCode: http.StatusInternalServerError}, nil)
					_, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false)