Expect(client.PutUserCallCount()).To(Equal(1))
		username, userInfo := client.PutUserArgsForCall(0)
		Expect(username).To(Equal("bob"))
		Expect(userInfo.Name).To(Equal("bob"))
		Expect(userInfo.Password).To(Equal("sekrit"))
	})

	It("constructs a binding using the Binder", func() {
		credentialsGenerator.GenerateReturns(rabbitbroker.Credentials{Username: "******", Password: "******"})
		config.Rabbitmq = rabbitbroker.RabbitmqConfig{ManagementDomain: "some-domain"}
		expectedConfig := rabbitbroker.RabbitmqConfig{
			ManagementDomain: "some-domain",
		}
		protocols := map[string]rabbithole.Port{"my-protocol": 12}
		client.ProtocolPortsReturns(protocols, nil)
		_, err := broker.Bind("my-instance", "my-binding", brokerapi.BindDetails{})
		Expect(err).NotTo(HaveOccurred())
		Expect(binder.BindingForCallCount()).To(Equal(1))
		Expect(client.ProtocolPortsCallCount()).To(Equal(1))
		configArg, credentialsArg, instanceIdArg, protocolsArg := binder.BindingForArgsForCall(0)
		Expect(configArg).To(Equal(expectedConfig))
		Expect(credentialsArg).To(Equal(rabbitbroker.Credentials{Username: "******", Password: "******"}))
		Expect(instanceIdArg).To(Equal("my-instance"))
		Expect(protocolsArg).To(Equal(protocols))
	})

	It("grants permisions for the binding user", func() {
		_, err := broker.Bind("my-instance", "my-binding", brokerapi.BindDetails{})
		Expect(err).NotTo(HaveOccurred())