mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-03-22 01:20:14 +01:00
Add support to use 'mapping' object in in reponse templating (#798)
* mapping * . * .
This commit is contained in:
@@ -7,43 +7,42 @@ using WireMock.ResponseBuilders;
|
||||
using WireMock.Settings;
|
||||
using Xunit;
|
||||
|
||||
namespace WireMock.Net.Tests.ResponseBuilders
|
||||
namespace WireMock.Net.Tests.ResponseBuilders;
|
||||
|
||||
public class ResponseWithStatusCodeTests
|
||||
{
|
||||
public class ResponseWithStatusCodeTests
|
||||
private readonly Mock<WireMockServerSettings> _settingsMock = new();
|
||||
private const string ClientIp = "::1";
|
||||
|
||||
[Theory]
|
||||
[InlineData("201", "201")]
|
||||
[InlineData(201, 201)]
|
||||
[InlineData(HttpStatusCode.Created, 201)]
|
||||
public async Task Response_ProvideResponse_WithStatusCode(object statusCode, object expectedStatusCode)
|
||||
{
|
||||
private readonly Mock<WireMockServerSettings> _settingsMock = new Mock<WireMockServerSettings>();
|
||||
private const string ClientIp = "::1";
|
||||
// Arrange
|
||||
var request = new RequestMessage(new UrlDetails("http://localhost/fault"), "GET", ClientIp);
|
||||
|
||||
[Theory]
|
||||
[InlineData("201", "201")]
|
||||
[InlineData(201, 201)]
|
||||
[InlineData(HttpStatusCode.Created, 201)]
|
||||
public async Task Response_ProvideResponse_WithStatusCode(object statusCode, object expectedStatusCode)
|
||||
// Act
|
||||
var responseBuilder = Response.Create();
|
||||
switch (statusCode)
|
||||
{
|
||||
// Arrange
|
||||
var request = new RequestMessage(new UrlDetails("http://localhost/fault"), "GET", ClientIp);
|
||||
case string statusCodeAsString:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsString);
|
||||
break;
|
||||
|
||||
// Act
|
||||
var responseBuilder = Response.Create();
|
||||
switch (statusCode)
|
||||
{
|
||||
case string statusCodeAsString:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsString);
|
||||
break;
|
||||
case int statusCodeAInteger:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAInteger);
|
||||
break;
|
||||
|
||||
case int statusCodeAInteger:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAInteger);
|
||||
break;
|
||||
|
||||
case HttpStatusCode statusCodeAsEnum:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsEnum);
|
||||
break;
|
||||
}
|
||||
|
||||
var response = await responseBuilder.ProvideResponseAsync(request, _settingsMock.Object).ConfigureAwait(false);
|
||||
|
||||
// Assert
|
||||
response.Message.StatusCode.Should().Be(expectedStatusCode);
|
||||
case HttpStatusCode statusCodeAsEnum:
|
||||
responseBuilder = responseBuilder.WithStatusCode(statusCodeAsEnum);
|
||||
break;
|
||||
}
|
||||
|
||||
var response = await responseBuilder.ProvideResponseAsync(new Mock<IMapping>().Object, request, _settingsMock.Object).ConfigureAwait(false);
|
||||
|
||||
// Assert
|
||||
response.Message.StatusCode.Should().Be(expectedStatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user