public void CallsDatabaseBuilderWithCorrectArguments()
            {
                var configuration   = Substitute.For <IConfiguration>();
                var databaseBuilder = Substitute.For <IDatabaseBuilder>();
                var service         = new MsSqlCloudFoundryService(configuration, databaseBuilder);
                var request         = new RemoveBindingRequest {
                    InstanceId = Guid.NewGuid().ToString(), BindingId = Guid.NewGuid().ToString()
                };

                service.RemoveBinding(request);

                databaseBuilder.Received().RemoveBinding(Arg.Is <string>(x => x == request.InstanceId), Arg.Is <string>(x => x == request.BindingId));
            }
        public IHttpActionResult Unbind(string instanceId, string bindingId, [FromUri(Name = "service_id")] string serviceId, [FromUri(Name = "plan_id")] string planId)
        {
            ICloudFoundryService service;
            var request = new RemoveBindingRequest {
                ServiceId = serviceId, PlanId = planId, BindingId = bindingId, InstanceId = instanceId
            };

            if (request.ServiceId == null || !servicesCatalog.Services.TryGetValue(request.ServiceId, out service))
            {
                return(BadRequest("This broker does not support the requested service."));
            }

            try
            {
                service.RemoveBinding(request);
                return(Ok(new EmptyResponse()));
            }
            catch (InvalidOperationException)
            {
                return(NotFound());
            }
        }