public async Task Can_call_external_service_with_raw_file_isolation()
        {
            var factory = _factory
                          .WithoutLocalizationStartupService()
                          .WithWebHostBuilder(builder =>
            {
                builder.ConfigureTestServices(services =>
                {
                    var b = services.AddHttpClient("github", c =>
                    {
                        c.BaseAddress = new Uri("https://api.github.com/");
                        c.DefaultRequestHeaders.Add("Accept", "application/vnd.github.v3+json");
                        c.DefaultRequestHeaders.Add("User-Agent", "ExternalServiceTests");
                    });
                    b.WhenRequestMatches(x =>
                    {
                        x.Method     = HttpMethod.Get;
                        x.RequestUri = new Uri("/", UriKind.Relative);
                    })
                    .RespondWith(x =>
                    {
                        x.StatusCode = HttpStatusCode.OK;
                        x.Content    = new StringContent(File.ReadAllText("InputFiles\\github_raw_response.json", Encoding.UTF8));
                    });
                });
            });

            var httpFactory = factory.Services.GetRequiredService <IHttpClientFactory>();
            var httpClient  = httpFactory.CreateClient("github");

            var response = await httpClient.GetAsync("/");

            response.EnsureSuccessStatusCode();
            response.ShouldBeMock();
        }
Пример #2
0
 protected GivenAnEmptyStore(string endpoint, ITestOutputHelper output, WebApplicationFactory <TStartup> factory)
 {
     _endpoint = endpoint;
     _factory  = factory
                 .WithoutLocalizationStartupService()
                 .WithTestLogging(output);
 }
Пример #3
0
 public TokenControllerTests(ITestOutputHelper output, WebApplicationFactory <Startup> factory)
 {
     _factory = factory
                .WithoutLocalizationStartupService()
                .WithTestLogging(output);
 }