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

                service.Deprovision(request);

                databaseBuilder.Received().DropDatabase(Arg.Is <string>(x => x == request.InstanceId));
            }
        public IHttpActionResult Deprovision(string instanceId, [FromUri(Name = "service_id")] string serviceId, [FromUri(Name = "plan_id")] string planId)
        {
            ICloudFoundryService service;
            var request = new DeprovisionRequest {
                ServiceId = serviceId, PlanId = planId, 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.Deprovision(request);
                return(Ok(new EmptyResponse()));
            }
            catch (InvalidOperationException)
            {
                return(NotFound());
            }
        }