public void Verify_Create_works() { var container = GetContainerBuilder("TestData/ConsumerInfo.json").BuildServiceProvider(); var result = container.GetService <IBrokerObjectFactory>() .Object <VirtualHost>() .Create(x => { x.VirtualHost("HareDu7"); x.Configure(c => { c.WithTracingEnabled(); }); }) .GetResult(); result.DebugInfo.ShouldNotBeNull(); VirtualHostDefinition definition = result.DebugInfo.Request.ToObject <VirtualHostDefinition>(); definition.Tracing.ShouldBeTrue(); }
public async Task <Result> Create(Action <VirtualHostCreateAction> action, CancellationToken cancellationToken = default) { cancellationToken.RequestCanceled(); var impl = new VirtualHostCreateActionImpl(); action(impl); impl.Validate(); VirtualHostDefinition definition = impl.Definition.Value; string url = $"api/vhosts/{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)); }