示例#1
0
        public End2EndTests(PostgreSqlFixture postgresFixture, RedisFixture redisFixture,
                            ITestOutputHelper testOutputHelper)
        {
            _testOutputHelper = testOutputHelper;
            _host             = WebHost.CreateDefaultBuilder()
                                .UseStartup <Startup>()
                                .UseTestServer()
                                .ConfigureTestServices(services =>
            {
                // add document store pointing to postgres testcontainer
                services.AddDocumentStore(postgresFixture.ConnectionString);
                services.AddSignalR()
                .AddJsonProtocol()
                // add redis pointing to testcontainer
                .AddStackExchangeRedis(redisFixture.ConnectionString);
            })
                                .Build();

            _host.Start();
            _httpClient = _host.GetTestClient();
            var httpMessageHandler = _host.GetTestServer().CreateHandler();

            _signalRConnection = new HubConnectionBuilder()
                                 .AddJsonProtocol()
                                 .WithUrl($"{_httpClient.BaseAddress}hubs/review",
                                          options => { options.HttpMessageHandlerFactory = _ => httpMessageHandler; })
                                 .Build();
        }
 /// <summary>
 /// Retrieves the test client from the TestServer in the host services.
 /// </summary>
 /// <param name="host"></param>
 /// <returns></returns>
 public static HttpClient GetTestClient(this IWebHost host)
 {
     return(host.GetTestServer().CreateClient());
 }