From d94599f5adc9dd22afa1db0da9d6094ec8217b81 Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Sat, 18 Apr 2020 11:32:40 +0200 Subject: [PATCH 1/4] wip --- .../WireMock.Net.Console.NETCoreApp3.csproj | 2 +- src/WireMock.Net/WireMock.Net.csproj | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/WireMock.Net.Console.NETCoreApp3/WireMock.Net.Console.NETCoreApp3.csproj b/examples/WireMock.Net.Console.NETCoreApp3/WireMock.Net.Console.NETCoreApp3.csproj index 23b9b4181..ba94bb1d7 100644 --- a/examples/WireMock.Net.Console.NETCoreApp3/WireMock.Net.Console.NETCoreApp3.csproj +++ b/examples/WireMock.Net.Console.NETCoreApp3/WireMock.Net.Console.NETCoreApp3.csproj @@ -28,7 +28,7 @@ - + diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj index fb8116041..30fd3392f 100644 --- a/src/WireMock.Net/WireMock.Net.csproj +++ b/src/WireMock.Net/WireMock.Net.csproj @@ -61,6 +61,7 @@ + @@ -70,12 +71,12 @@ - + - + From 06f21ecc1257a6dfd83aab16aefa7a790496f200 Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Wed, 22 Apr 2020 19:54:28 +0200 Subject: [PATCH 2/4] h 100 --- .../Transformers/HandlebarsContextFactory.cs | 2 +- ...elpers.cs => WireMockHandlebarsHelpers.cs} | 2 +- src/WireMock.Net/WireMock.Net.csproj | 2 +- .../ResponseWithHandlebarsHelpersTests.cs | 36 +++++++++++++++++++ 4 files changed, 39 insertions(+), 3 deletions(-) rename src/WireMock.Net/Transformers/{HandleBarsHelpers.cs => WireMockHandlebarsHelpers.cs} (92%) create mode 100644 test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs diff --git a/src/WireMock.Net/Transformers/HandlebarsContextFactory.cs b/src/WireMock.Net/Transformers/HandlebarsContextFactory.cs index 40354e548..b34b8c470 100644 --- a/src/WireMock.Net/Transformers/HandlebarsContextFactory.cs +++ b/src/WireMock.Net/Transformers/HandlebarsContextFactory.cs @@ -24,7 +24,7 @@ public IHandlebarsContext Create() { var handlebars = Handlebars.Create(HandlebarsConfiguration); - HandlebarsHelpers.Register(handlebars, _fileSystemHandler); + WireMockHandlebarsHelpers.Register(handlebars, _fileSystemHandler); _action?.Invoke(handlebars, _fileSystemHandler); diff --git a/src/WireMock.Net/Transformers/HandleBarsHelpers.cs b/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs similarity index 92% rename from src/WireMock.Net/Transformers/HandleBarsHelpers.cs rename to src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs index 2bb64cc64..20204022f 100644 --- a/src/WireMock.Net/Transformers/HandleBarsHelpers.cs +++ b/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs @@ -3,7 +3,7 @@ namespace WireMock.Transformers { - internal static class HandlebarsHelpers + internal static class WireMockHandlebarsHelpers { public static void Register(IHandlebars handlebarsContext, IFileSystemHandler fileSystemHandler) { diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj index 30fd3392f..ac875d06c 100644 --- a/src/WireMock.Net/WireMock.Net.csproj +++ b/src/WireMock.Net/WireMock.Net.csproj @@ -61,7 +61,7 @@ - + diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs new file mode 100644 index 000000000..963a95d6f --- /dev/null +++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsHelpersTests.cs @@ -0,0 +1,36 @@ +using System.Threading.Tasks; +using NFluent; +using WireMock.Models; +using WireMock.ResponseBuilders; +using WireMock.Settings; +using WireMock.Types; +using WireMock.Util; +using Xunit; + +namespace WireMock.Net.Tests.ResponseBuilders +{ + public class ResponseWithHandlebarsHelpersTests + { + private readonly WireMockServerSettings _settings = new WireMockServerSettings(); + private const string ClientIp = "::1"; + + [Fact] + public async Task Response_ProvideResponseAsync_HandlebarsHelpers_String_Uppercase() + { + // Assign + var body = new BodyData { BodyAsString = "abc", DetectedBodyType = BodyType.String }; + + var request = new RequestMessage(new UrlDetails("http://localhost:1234"), "POST", ClientIp, body); + + var response = Response.Create() + .WithBody("{{String.Uppercase request.body}}") + .WithTransformer(); + + // Act + var responseMessage = await response.ProvideResponseAsync(request, _settings); + + // assert + Check.That(responseMessage.BodyData.BodyAsString).Equals("ABC"); + } + } +} \ No newline at end of file From eaeec0b11677d8cfcd73ccee0ed214a118d9786d Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Wed, 22 Apr 2020 20:02:24 +0200 Subject: [PATCH 3/4] rename --- .../Transformers/HandleBarsFile.cs | 2 +- .../Transformers/HandleBarsJsonPath.cs | 2 +- .../Transformers/HandleBarsLinq.cs | 2 +- .../Transformers/HandleBarsRandom.cs | 2 +- .../Transformers/HandleBarsRegex.cs | 2 +- .../Transformers/HandleBarsXPath.cs | 2 +- .../Transformers/HandleBarsXeger.cs | 2 +- .../Transformers/WireMockHandlebarsHelpers.cs | 19 ++++++++++++------- 8 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/WireMock.Net/Transformers/HandleBarsFile.cs b/src/WireMock.Net/Transformers/HandleBarsFile.cs index 51a35ccfa..e5bbf8e24 100644 --- a/src/WireMock.Net/Transformers/HandleBarsFile.cs +++ b/src/WireMock.Net/Transformers/HandleBarsFile.cs @@ -5,7 +5,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsFile + internal static class HandlebarsFile { public static void Register(IHandlebars handlebarsContext, IFileSystemHandler fileSystemHandler) { diff --git a/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs b/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs index dc6e98719..b976b62e1 100644 --- a/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs +++ b/src/WireMock.Net/Transformers/HandleBarsJsonPath.cs @@ -9,7 +9,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsJsonPath + internal static class HandlebarsJsonPath { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/HandleBarsLinq.cs b/src/WireMock.Net/Transformers/HandleBarsLinq.cs index 2eb43a829..be5a473f8 100644 --- a/src/WireMock.Net/Transformers/HandleBarsLinq.cs +++ b/src/WireMock.Net/Transformers/HandleBarsLinq.cs @@ -9,7 +9,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsLinq + internal static class HandlebarsLinq { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/HandleBarsRandom.cs b/src/WireMock.Net/Transformers/HandleBarsRandom.cs index 1f6a89f88..4bc11ba70 100644 --- a/src/WireMock.Net/Transformers/HandleBarsRandom.cs +++ b/src/WireMock.Net/Transformers/HandleBarsRandom.cs @@ -11,7 +11,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsRandom + internal static class HandlebarsRandom { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/HandleBarsRegex.cs b/src/WireMock.Net/Transformers/HandleBarsRegex.cs index a22d55543..490ceed24 100644 --- a/src/WireMock.Net/Transformers/HandleBarsRegex.cs +++ b/src/WireMock.Net/Transformers/HandleBarsRegex.cs @@ -7,7 +7,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsRegex + internal static class HandlebarsRegex { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/HandleBarsXPath.cs b/src/WireMock.Net/Transformers/HandleBarsXPath.cs index 6118e70a3..48ba898e9 100644 --- a/src/WireMock.Net/Transformers/HandleBarsXPath.cs +++ b/src/WireMock.Net/Transformers/HandleBarsXPath.cs @@ -10,7 +10,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsXPath + internal static class HandlebarsXPath { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/HandleBarsXeger.cs b/src/WireMock.Net/Transformers/HandleBarsXeger.cs index 1928c6ca5..92786aab6 100644 --- a/src/WireMock.Net/Transformers/HandleBarsXeger.cs +++ b/src/WireMock.Net/Transformers/HandleBarsXeger.cs @@ -5,7 +5,7 @@ namespace WireMock.Transformers { - internal static class HandleBarsXeger + internal static class HandlebarsXeger { public static void Register(IHandlebars handlebarsContext) { diff --git a/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs b/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs index 20204022f..0ecce91d3 100644 --- a/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs +++ b/src/WireMock.Net/Transformers/WireMockHandlebarsHelpers.cs @@ -1,4 +1,5 @@ using HandlebarsDotNet; +using HandlebarsDotNet.Helpers; using WireMock.Handlers; namespace WireMock.Transformers @@ -7,19 +8,23 @@ internal static class WireMockHandlebarsHelpers { public static void Register(IHandlebars handlebarsContext, IFileSystemHandler fileSystemHandler) { - HandleBarsRegex.Register(handlebarsContext); + // Register https://github.com/StefH/Handlebars.Net.Helpers + HandlebarsHelpers.Register(handlebarsContext); - HandleBarsJsonPath.Register(handlebarsContext); + // Register WireMock.Net specific helpers + HandlebarsRegex.Register(handlebarsContext); - HandleBarsLinq.Register(handlebarsContext); + HandlebarsJsonPath.Register(handlebarsContext); - HandleBarsRandom.Register(handlebarsContext); + HandlebarsLinq.Register(handlebarsContext); - HandleBarsXeger.Register(handlebarsContext); + HandlebarsRandom.Register(handlebarsContext); - HandleBarsXPath.Register(handlebarsContext); + HandlebarsXeger.Register(handlebarsContext); - HandleBarsFile.Register(handlebarsContext, fileSystemHandler); + HandlebarsXPath.Register(handlebarsContext); + + HandlebarsFile.Register(handlebarsContext, fileSystemHandler); } } } \ No newline at end of file From c12915f70720216969118fc68d756760725d5922 Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Mon, 27 Apr 2020 09:33:54 +0200 Subject: [PATCH 4/4] csproj --- src/WireMock.Net/WireMock.Net.csproj | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj index ac875d06c..e7b8be536 100644 --- a/src/WireMock.Net/WireMock.Net.csproj +++ b/src/WireMock.Net/WireMock.Net.csproj @@ -71,14 +71,6 @@ - - - - - -