public void CallsDatabaseBuilderWithCorrectPlan() { var configuration = Substitute.For <IConfiguration>(); var databaseBuilder = Substitute.For <IDatabaseBuilder>(); configuration.GetAppSetting(Arg.Any <string>()).Returns("logurl"); var service = new MsSqlCloudFoundryService(configuration, databaseBuilder); var request = new CreateBindingRequest { PlanId = MsSqlService.FreePlanId.ToString(), InstanceId = Guid.NewGuid().ToString(), BindingId = Guid.NewGuid().ToString() }; service.CreateBinding(request); databaseBuilder.Received().CreateBinding(Arg.Is <string>(x => x == request.InstanceId), Arg.Is <string>(x => x == request.BindingId), Arg.Is <Plan>(x => x.Id == request.PlanId)); }
public void ThrowsArgumentExceptionWhenPlanIdDoesNotExist() { var configuration = Substitute.For <IConfiguration>(); var databaseBuilder = Substitute.For <IDatabaseBuilder>(); configuration.GetAppSetting(Arg.Any <string>()).Returns("logurl"); var service = new MsSqlCloudFoundryService(configuration, databaseBuilder); var request = new CreateBindingRequest { PlanId = Guid.NewGuid().ToString(), InstanceId = Guid.NewGuid().ToString(), BindingId = Guid.NewGuid().ToString() }; var ex = Assert.Throws <ArgumentException>(() => service.CreateBinding(request)); Assert.Equal(string.Format("The plan id {0} does not exists", request.PlanId), ex.Message); }
public void ReturnsCorrectUrlForSysLog() { var configuration = Substitute.For <IConfiguration>(); var databaseBuilder = Substitute.For <IDatabaseBuilder>(); databaseBuilder.CreateBinding(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <Plan>()).ReturnsForAnyArgs(new Credentials()); configuration.GetAppSetting(Arg.Any <string>()).Returns("logurl"); var service = new MsSqlCloudFoundryService(configuration, databaseBuilder); var request = new CreateBindingRequest { PlanId = MsSqlService.FreePlanId.ToString(), InstanceId = Guid.NewGuid().ToString(), BindingId = Guid.NewGuid().ToString() }; CreateBindingResponse response = service.CreateBinding(request); Assert.Equal("logurl", response.LogUrl); }
public void CallsServiceCreateBindingAfterSettingInstanceIdAndBindingIdOnRequest() { service.CreateBinding(Arg.Any <CreateBindingRequest>()).ReturnsForAnyArgs(new CreateBindingResponse { LogUrl = "http://foo", Credentials = new Credentials() }); var request = new CreateBindingRequest { ServiceId = serviceId.ToString() }; var instanceId = Guid.NewGuid().ToString(); var bindingId = Guid.NewGuid().ToString(); IHttpActionResult result = controller.Bind(instanceId, bindingId, request); Assert.IsType <OkNegotiatedContentResult <CreateBindingResponse> >(result); service.Received().CreateBinding(Arg.Is <CreateBindingRequest>(x => x.BindingId == bindingId && x.InstanceId == instanceId)); }
public async Task <string> CreateExchangeBinding(CreateBindingRequest request, string sourceExchangeName, string destinationExchangeName, string virtualHost = null, CancellationToken cancellationToken = default) { if (request == null) { throw new ArgumentNullException(nameof(request)); } if (sourceExchangeName == null) { throw new ArgumentNullException(nameof(sourceExchangeName)); } if (destinationExchangeName == null) { throw new ArgumentNullException(nameof(destinationExchangeName)); } var result = await Post(string.Format(RabbitMQEndPoints.PostExchangeBinding, ConvertVirtualHost(virtualHost), sourceExchangeName, destinationExchangeName), request, cancellationToken); return(result.ContainsKey("Location") ? result["Location"].FirstOrDefault() : string.Empty); }
public IHttpActionResult Bind(string instanceId, string bindingId, [FromBody] CreateBindingRequest request) { ICloudFoundryService service; if (!servicesCatalog.Services.TryGetValue(request.ServiceId, out service)) { return(BadRequest("This broker does not support the requested service.")); } request.BindingId = bindingId; request.InstanceId = instanceId; try { CreateBindingResponse response = service.CreateBinding(request); return(Ok(response)); } catch (InvalidOperationException) { return(Conflict()); } }