Files
WireMock.Net-wiremock/test/WireMock.Net.Middleware.Tests/IntegrationTests.cs
2025-04-25 16:35:55 +02:00

50 lines
1.7 KiB
C#

// Copyright © WireMock.Net
using FluentAssertions;
using WireMock.Net.TestWebApplication;
namespace WireMock.Net.Middleware.Tests;
public class IntegrationTests
{
[Theory]
[InlineData("/real1", "Hello 1 from WireMock.Net !")]
[InlineData("/real2", "Hello 2 from WireMock.Net !")]
[InlineData("/real3", "Hello 3 from WireMock.Net !")]
public async Task CallingRealApi_WithAlwaysRedirectToWireMockIsTrue(string requestUri, string expectedResponse)
{
// Arrange
await using var factory = new CustomWebApplicationFactory<Program>();
using var client = factory.CreateClient();
// Act
var response = await client.GetAsync(requestUri);
// Assert
response.EnsureSuccessStatusCode();
var stringResponse = await response.Content.ReadAsStringAsync();
stringResponse.Should().Be(expectedResponse);
}
[Theory]
[InlineData("/real1", "Hello 1 from WireMock.Net !")]
[InlineData("/real2", "Hello 2 from WireMock.Net !")]
public async Task CallingRealApi_WithAlwaysRedirectToWireMockIsFalse(string requestUri, string expectedResponse)
{
// Arrange
await using var factory = new CustomWebApplicationFactory<Program>(false);
using var client = factory.CreateClient();
var request = new HttpRequestMessage(HttpMethod.Get, requestUri);
request.Headers.Add("X-WireMock-Redirect", "true");
request.Headers.Add("X-WireMock-Response-Delay", "10");
// Act
var response = await client.SendAsync(request);
// Assert
response.EnsureSuccessStatusCode();
var stringResponse = await response.Content.ReadAsStringAsync();
stringResponse.Should().Be(expectedResponse);
}
}