mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-21 00:11:44 +02:00
Add ProvideResponse_WithJsonBodyAndTransform test (#262)
This commit is contained in:
committed by
Stef Heyenrath
parent
ceb6596823
commit
e7ac620721
@@ -5,6 +5,7 @@ using WireMock.Models;
|
|||||||
using WireMock.ResponseBuilders;
|
using WireMock.ResponseBuilders;
|
||||||
using WireMock.Util;
|
using WireMock.Util;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
|
||||||
namespace WireMock.Net.Tests.ResponseBuilders
|
namespace WireMock.Net.Tests.ResponseBuilders
|
||||||
{
|
{
|
||||||
@@ -199,5 +200,36 @@ namespace WireMock.Net.Tests.ResponseBuilders
|
|||||||
Check.That(responseMessage.Headers["H1"].ToString()).IsEqualTo("X1");
|
Check.That(responseMessage.Headers["H1"].ToString()).IsEqualTo("X1");
|
||||||
Check.That(responseMessage.Headers["H2"].ToString()).IsEqualTo("X2");
|
Check.That(responseMessage.Headers["H2"].ToString()).IsEqualTo("X2");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task Response_ProvideResponse_WithJsonBodyAndTransform_Func()
|
||||||
|
{
|
||||||
|
// Assign
|
||||||
|
const int request1Id = 1;
|
||||||
|
const int request2Id = 2;
|
||||||
|
|
||||||
|
var request1 = new RequestMessage(new UrlDetails($"http://localhost/test?id={request1Id}"), "GET", ClientIp);
|
||||||
|
var request2 = new RequestMessage(new UrlDetails($"http://localhost/test?id={request2Id}"), "GET", ClientIp);
|
||||||
|
|
||||||
|
var response = Response.Create()
|
||||||
|
.WithStatusCode(200)
|
||||||
|
.WithBodyAsJson(JObject.Parse("{ \"id\": \"{{request.query.id}}\" }"))
|
||||||
|
.WithTransformer();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var response1Message = await response.ProvideResponseAsync(request1);
|
||||||
|
var response2Message = await response.ProvideResponseAsync(request2);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Check.That(((JToken)response1Message.BodyData.BodyAsJson).SelectToken("id")?.Value<int>()).IsEqualTo(request1Id);
|
||||||
|
Check.That(response1Message.BodyData.BodyAsBytes).IsNull();
|
||||||
|
Check.That(response1Message.BodyData.BodyAsString).IsNull();
|
||||||
|
Check.That(response1Message.StatusCode).IsEqualTo(200);
|
||||||
|
|
||||||
|
Check.That(((JToken)response2Message.BodyData.BodyAsJson).SelectToken("id")?.Value<int>()).IsEqualTo(request2Id);
|
||||||
|
Check.That(response2Message.BodyData.BodyAsBytes).IsNull();
|
||||||
|
Check.That(response2Message.BodyData.BodyAsString).IsNull();
|
||||||
|
Check.That(response2Message.StatusCode).IsEqualTo(200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user