Handlebars Extension (#286)

* wip

* HandlebarsRegistrationCallback

* HandlebarsContextFactoryTests

* 1.0.21.0

* fix sonar

* LocalFileSystemHandler

* readme

* Fix System.IO.IOException
This commit is contained in:
Stef Heyenrath
2019-07-03 18:37:22 +02:00
committed by GitHub
parent 653e03fcd9
commit 93682c9bbf
37 changed files with 366 additions and 208 deletions

View File

@@ -5,9 +5,9 @@ using System.Threading.Tasks;
using Moq;
using Newtonsoft.Json;
using NFluent;
using WireMock.Handlers;
using WireMock.Models;
using WireMock.ResponseBuilders;
using WireMock.Settings;
using WireMock.Util;
using Xunit;
#if NET452
@@ -20,7 +20,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
{
public class ResponseWithHandlebarsTests
{
private readonly Mock<IFileSystemHandler> _fileSystemHandlerMock = new Mock<IFileSystemHandler>();
private readonly Mock<IFluentMockServerSettings> _settingsMock = new Mock<IFluentMockServerSettings>();
private const string ClientIp = "::1";
[Fact]
@@ -41,7 +41,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(JsonConvert.SerializeObject(responseMessage.BodyData.BodyAsJson)).Equals("{\"x\":\"test /foo_object\"}");
@@ -63,7 +63,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("test http://localhost/foo /foo POSt");
@@ -81,7 +81,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("http://localhost/a/b http://localhost/wiremock/a/b /a/b /wiremock/a/b");
@@ -99,7 +99,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("a wiremock");
@@ -121,7 +121,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("test keya=1 idx=1 idx=2 keyb=5");
@@ -141,7 +141,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
var response = Response.Create().WithHeader("x", "{{request.headers.Content-Type}}").WithBody("test").WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("test");
@@ -163,7 +163,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
var response = Response.Create().WithHeader("x", "{{request.headers.Content-Type}}", "{{request.url}}").WithBody("test").WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("test");
@@ -188,7 +188,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsString).Equals("test http://localhost:1234 1234 http localhost");
@@ -212,7 +212,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithTransformer();
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(JsonConvert.SerializeObject(responseMessage.BodyData.BodyAsJson)).Equals("[\"first\",\"/foo_array\",\"test 1\",\"test 2\",\"last\"]");
@@ -229,7 +229,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithBodyFromFile(@"c:\\{{request.query.MyUniqueNumber}}\test.xml"); // why use a \\ here ?
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsFile).Equals(@"c:\1\test.xml");
@@ -256,7 +256,7 @@ namespace WireMock.Net.Tests.ResponseBuilders
.WithBodyFromFile(@"c:\\{{JsonPath.SelectToken request.body " + jsonPath + "}}\\test.json"); // why use a \\ here ?
// Act
var responseMessage = await response.ProvideResponseAsync(request, _fileSystemHandlerMock.Object);
var responseMessage = await response.ProvideResponseAsync(request, _settingsMock.Object);
// Assert
Check.That(responseMessage.BodyData.BodyAsFile).Equals(@"c:\1\test.json");