public void OneStartupNotThrowsException() { MariCommandsHostBuilderExtensions.Clear(); Host.CreateDefaultBuilder() .UseCommandStartup <TestCommandStartup>() .Build(); }
public async Task WillCallCommandServiceStartupMethodsWhenInjectInHost() { var props = new Dictionary <string, object>(); MariCommandsHostBuilderExtensions.Clear(); var host = Host.CreateDefaultBuilder() .ConfigureServices(services => { services.AddTransient <ICommandApplicationBuilderFactory>((sp) => { return(new TestCommandApplicationBuilderFactory(props)); }); }) .UseCommandServiceStartup <TestCommandStartupAssert>() .Build(); await host.StartAsync(); var configurer = host.Services.GetRequiredService <IModuleConfigurer>(); var dependency = host.Services.GetRequiredService <SomeDependencyTest>(); Assert.NotNull(configurer); Assert.NotNull(dependency); var logValue = props[TestCommandStartupAssert.LogKey]; var separator = configurer.Options.Separator; Assert.Equal(TestCommandStartupAssert.LogValue, logValue); Assert.Equal(TestCommandStartupAssert.Separator, separator); }
public void TwoStartupsThrowsException() { TestDelegate test = obj => Task.CompletedTask; var contextParameter = Expression.Parameter(typeof(object)); var instanceCast = Expression.Convert(contextParameter, test.Method.GetParameters().First().ParameterType); var callExpression = Expression.Call(Expression.Constant(test.Target), test.Method, instanceCast); var lambda = Expression.Lambda <Func <object, Task> >(callExpression, contextParameter); var buildedDelegate = lambda.Compile(); buildedDelegate("AISDHJDUASH").GetAwaiter().GetResult(); MariCommandsHostBuilderExtensions.Clear(); var builder = Host.CreateDefaultBuilder(); Assert.ThrowsAny <InvalidOperationException>(() => { builder .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseTestServer() .Configure(app => { }) .ConfigureServices(services => { }); webBuilder.UseCommandStartup <TestCommandStartup>(); webBuilder.UseCommandStartup <TestCommandStartup>(); }) .Build(); }); }
public async Task WillStartAppInWebHosts() { var host = Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseTestServer() .ConfigureServices(services => { }) .Configure(app => { }); MariCommandsHostBuilderExtensions.Clear(); webBuilder.UseCommandServiceStartup <TestCommandStartup>(); webBuilder.UseStartup <TestCommandStartup>(); }) .Build(); await host.StartAsync(); var executor = host.Services.GetRequiredService <IContextExecutor>(); var context = new CommandContext() { Result = new Mock <IResult>().Object, Command = new Mock <ICommand>().Object, }; await executor.ExecuteAsync(string.Empty, context); }
public async Task CanExecuteAnyWorkerCommandAfterAddCommandServiceStartup() { MariCommandsHostBuilderExtensions.Clear(); var host = Host.CreateDefaultBuilder() .UseCommandServiceStartup <TestCommandStartup>() .ConfigureServices(services => { services.AddHostedService <TestWorkerService>(); }) .Build(); await host.StartAsync(); }
public async Task CanExecuteAnyCommandAfterAddCommandServiceStartup() { MariCommandsHostBuilderExtensions.Clear(); var host = Host.CreateDefaultBuilder() .UseCommandServiceStartup <TestCommandStartup>() .Build(); await host.StartAsync(); var contextExecutor = host.Services.GetRequiredService <IContextExecutor>(); await contextExecutor.ExecuteAsync(string.Empty, new CommandContext()); }
public void OneCommandServiceStartupNotThrowsException() { Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseTestServer() .ConfigureServices(services => { }) .Configure(app => { }); MariCommandsHostBuilderExtensions.Clear(); webBuilder.UseCommandServiceStartup <TestCommandStartup>(); }) .Build(); }
public async Task CanExecuteAnyCommandAfterAddCommandServiceStartup() { var host = Host.CreateDefaultBuilder() .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseTestServer() .ConfigureServices(services => { }) .Configure(app => { }); MariCommandsHostBuilderExtensions.Clear(); webBuilder.UseCommandServiceStartup <TestCommandStartup>(); }) .Build(); await host.StartAsync(); var contextExecutor = host.Services.GetRequiredService <IContextExecutor>(); await contextExecutor.ExecuteAsync(string.Empty, new CommandContext()); }
public HostBuilderTests() { MariCommandsHostBuilderExtensions.Clear(); }
public CommandStartupFilterTests() { MariCommandsHostBuilderExtensions.Clear(); }