Support Dynamic response files using Handlebars templating (#271)

* Dynamic response files using Handlebars templating
(#270)

* * Response templating / transformation using Handlebars and extensions
This commit is contained in:
Stef Heyenrath
2019-05-04 10:02:09 +02:00
committed by GitHub
parent b151a581cc
commit 96e68ae2a0
6 changed files with 56 additions and 26 deletions

View File

@@ -214,5 +214,22 @@ namespace WireMock.Net.Tests.ResponseBuilders
// Assert
Check.That(JsonConvert.SerializeObject(responseMessage.BodyData.BodyAsJson)).Equals("[\"first\",\"/foo_array\",\"test 1\",\"test 2\",\"last\"]");
}
[Fact]
public async Task Response_ProvideResponse_Handlebars_WithBodyAsFile()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost/foo?MyUniqueNumber=1"), "GET", ClientIp);
var response = Response.Create()
.WithTransformer()
.WithBodyFromFile(@"c:\\{{request.query.MyUniqueNumber}}\test.xml"); // why use a \\ here ?
// Act
var responseMessage = await response.ProvideResponseAsync(request);
// Assert
Check.That(responseMessage.BodyData.BodyAsFile).Equals(@"c:\1\test.xml");
}
}
}