public SystemUnderTest(Action <IWebHostBuilder> configure = null) { var builder = new HostBuilder() .ConfigureWebHostDefaults(webHost => { webHost .UseTestServer() .UseStartup <TStartup>(); configure?.Invoke(webHost); }) .UseSerilog(); host = builder.Start(); server = host.GetTestServer(); // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = server.CreateHandler(); var testClient = new HttpClient(responseVersionHandler); testClient.BaseAddress = new Uri("http://localhost"); HttpClient = testClient; }
public GrpcTestFixture(Action <IServiceCollection>?initialConfigureServices) { LoggerFactory = new LoggerFactory(); LoggerFactory.AddProvider(new ForwardingLoggerProvider((logLevel, category, eventId, message, exception) => { LoggedMessage?.Invoke(logLevel, category, eventId, message, exception); })); var builder = new HostBuilder() .ConfigureServices(services => { initialConfigureServices?.Invoke(services); services.AddSingleton <ILoggerFactory>(LoggerFactory); }) .ConfigureWebHostDefaults(webHost => { webHost .UseTestServer() .UseStartup <TStartup>(); }); _host = builder.Start(); _server = _host.GetTestServer(); // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = _server.CreateHandler(); Handler = responseVersionHandler; }
public GrpcTestFixture(Action <IServiceCollection>?initialConfigureServices) { this.LoggerFactory = new LoggerFactory(); this.LoggerFactory.AddProvider(new ForwardingLoggerProvider((logLevel, category, eventId, message, exception) => LoggedMessage?.Invoke(logLevel, category, eventId, message, exception))); IHostBuilder builder = new HostBuilder() .ConfigureServices(services => { initialConfigureServices?.Invoke(services); services.AddSingleton <ILoggerFactory>(this.LoggerFactory); }) .ConfigureWebHostDefaults(webHost => { webHost .UseTestServer() .UseStartup <TStartup>(); }); this.host = builder.Start(); this.server = this.host.GetTestServer(); // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler { InnerHandler = this.server.CreateHandler() }; var client = new HttpClient(responseVersionHandler) { BaseAddress = new Uri("http://localhost") }; this.Client = client; }
public async Task TestResponse() { var application = new TestApplication(new string[0]); using var host = await application.GetHostBuilder().ConfigureWebHostDefaults(builder => { builder.UseTestServer(); }).StartAsync(); var service = host.GetTestServer(); var responseVersionHandler = new ResponseVersionHandler { InnerHandler = service.CreateHandler() }; var client = new HttpClient(responseVersionHandler) { BaseAddress = new Uri("http://localhost") }; using var channel = GrpcChannel.ForAddress(client.BaseAddress, new GrpcChannelOptions { HttpClient = client }); var grpcClient = new TestService.TestServiceClient(channel); var response = await grpcClient.RequestAsync(new TestRequest()); Assert.True(response.ResponseInfo.IsSuccess); }
public static HttpClient CreateFixedClient(this IHost host) { AppContext.TryGetSwitch(SWITCH_NAME, out var currentSwitchValue); if (currentSwitchValue == false) { AppContext.SetSwitch(SWITCH_NAME, true); } // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = host.GetTestServer().CreateHandler(); var client = new HttpClient(responseVersionHandler) { BaseAddress = new Uri("http://localhost"), DefaultRequestVersion = new Version(2, 0) }; if (currentSwitchValue == false) { AppContext.SetSwitch(SWITCH_NAME, false); } return(client); }
public GrpcTestFixture(Action <IServiceCollection>?initialConfigureServices) { LoggerFactory = new LoggerFactory(); var builder = new HostBuilder() .ConfigureServices(services => { initialConfigureServices?.Invoke(services); services.TryAddSingleton <ILoggerFactory>(LoggerFactory); }) .ConfigureWebHostDefaults(webHost => { webHost .UseTestServer() .UseStartup <TStartup>(); }); _host = builder.Start(); _server = _host.GetTestServer(); // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = _server.CreateHandler(); var client = new HttpClient(responseVersionHandler); client.BaseAddress = new Uri("http://localhost"); Client = client; }
HttpClient ConfigureHttpClient() { // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = server.CreateHandler(); var client = new HttpClient(responseVersionHandler); client.BaseAddress = new Uri("http://localhost"); return(client); }
public ServiceTests() { var builder = new HostBuilder().ConfigureWebHostDefaults(webHost => { webHost .UseTestServer() .UseStartup <Startup>(); }); var _host = builder.Start(); _server = _host.GetTestServer(); // Need to set the response version to 2.0. // Required because of this TestServer issue - https://github.com/aspnet/AspNetCore/issues/16940 var responseVersionHandler = new ResponseVersionHandler(); responseVersionHandler.InnerHandler = _server.CreateHandler(); _client = new HttpClient(responseVersionHandler); _client.BaseAddress = new Uri("http://localhost"); }