public void Verify_cannot_define_limits_1() { var container = GetContainerBuilder().BuildServiceProvider(); var result = container.GetService <IBrokerObjectFactory>() .Object <VirtualHostLimits>() .Define(x => { x.VirtualHost(string.Empty); x.Configure(c => { c.SetMaxQueueLimit(100); c.SetMaxConnectionLimit(1000); }); }) .GetResult(); result.HasFaulted.ShouldBeTrue(); result.Errors.Count.ShouldBe(1); result.DebugInfo.ShouldNotBeNull(); VirtualHostLimitsDefinition definition = result.DebugInfo.Request.ToObject <VirtualHostLimitsDefinition>(); definition.MaxConnectionLimit.ShouldBe <ulong>(1000); definition.MaxQueueLimit.ShouldBe <ulong>(100); }
public async Task <Result> Define(Action <VirtualHostConfigureLimitsAction> action, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); var impl = new VirtualHostConfigureLimitsActionImpl(); action(impl); impl.Validate(); VirtualHostLimitsDefinition definition = impl.Definition.Value; string url = $"api/vhost-limits/vhost/{impl.VirtualHostName.Value.ToSanitizedName()}"; if (impl.Errors.Value.Any()) { return(new FaultedResult(impl.Errors.Value, new DebugInfoImpl(url, definition.ToJsonString(Deserializer.Options)))); } return(await Put(url, definition, cancellationToken).ConfigureAwait(false)); }