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);
            }
Ejemplo n.º 4
0
            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));
            }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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());
            }
        }