client.GetVhostReturns(nil, fmt.Errorf("vhost does not exist")) client.PutVhostReturns(&http.Response{StatusCode: http.StatusNoContent}, nil) client.DeleteVhostReturns(&http.Response{StatusCode: http.StatusNoContent}, nil) client.UpdatePermissionsInReturns(&http.Response{StatusCode: http.StatusNoContent}, nil) client.PutPolicyReturns(&http.Response{StatusCode: http.StatusNoContent}, nil) client.PutUserReturns(&http.Response{StatusCode: http.StatusNoContent}, nil) client.GetUserReturns(nil, fmt.Errorf(rabbitbroker.NotFoundIdentifier)) credentialsGenerator.GenerateReturns(rabbitbroker.Credentials{ Username: "******", Password: "******", }) }) It("returns no error", func() { _, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false) Expect(err).NotTo(HaveOccurred()) }) It("logs a message stating that it is provisioning", func() { _, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false) Expect(err).NotTo(HaveOccurred()) Expect(logger.LogMessages()).To(ContainElement(ContainSubstring("Asked to provision a service: my-service-id"))) }) It("returns a dashboard url", func() { provisionedSpec, err := broker.Provision("my-service-id", brokerapi.ProvisionDetails{}, false) Expect(err).NotTo(HaveOccurred()) Expect(provisionedSpec.DashboardURL).To(MatchRegexp(`https://%s/#/login/[a-zA-Z0-9\-]+/[a-zA-Z0-9\-]+`, config.Rabbitmq.ManagementDomain)) })