diff --git a/src/WireMock.Net/Transformers/Transformer.cs b/src/WireMock.Net/Transformers/Transformer.cs
index bea06a52..c6943629 100644
--- a/src/WireMock.Net/Transformers/Transformer.cs
+++ b/src/WireMock.Net/Transformers/Transformer.cs
@@ -5,7 +5,6 @@ using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Stef.Validation;
-using WireMock.ResponseBuilders;
using WireMock.Settings;
using WireMock.Types;
using WireMock.Util;
@@ -250,7 +249,7 @@ internal class Transformer : ITransformer
return;
}
- var transformed = transformerContext.ParseAndEvaluate(stringValue, model);
+ var transformed = transformerContext.ParseAndEvaluate(stringValue!, model);
if (!Equals(stringValue, transformed))
{
ReplaceNodeValue(options, node, transformed);
diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj
index d7874b96..895c5acf 100644
--- a/src/WireMock.Net/WireMock.Net.csproj
+++ b/src/WireMock.Net/WireMock.Net.csproj
@@ -80,7 +80,7 @@
-
+
@@ -189,13 +189,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs
index a90b2c83..8f6c7dcf 100644
--- a/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs
+++ b/test/WireMock.Net.Tests/ResponseBuilders/ResponseWithHandlebarsRandomTests.cs
@@ -1,5 +1,6 @@
using System.Linq;
using System.Threading.Tasks;
+using FluentAssertions;
using Moq;
using Newtonsoft.Json.Linq;
using NFluent;
@@ -149,7 +150,7 @@ public class ResponseWithHandlebarsRandomTests
}
[Fact]
- public async Task Response_ProvideResponseAsync_Handlebars_Random2()
+ public async Task Response_ProvideResponseAsync_Handlebars_Random_Integer()
{
// Assign
var request = new RequestMessage(new UrlDetails("http://localhost:1234"), "GET", ClientIp);
@@ -168,4 +169,25 @@ public class ResponseWithHandlebarsRandomTests
JObject j = JObject.FromObject(response.Message.BodyData.BodyAsJson);
Check.That(j["Integer"].Value()).IsStrictlyGreaterThan(10000000).And.IsStrictlyLessThan(99999999);
}
+
+ [Fact]
+ public async Task Response_ProvideResponseAsync_Handlebars_Random_Long()
+ {
+ // Assign
+ var request = new RequestMessage(new UrlDetails("http://localhost:1234"), "GET", ClientIp);
+
+ var responseBuilder = Response.Create()
+ .WithBodyAsJson(new
+ {
+ Long = "{{#Random Type=\"Long\" Min=1000000000 Max=9999999999}}{{this}}{{/Random}}",
+ })
+ .WithTransformer();
+
+ // Act
+ var response = await responseBuilder.ProvideResponseAsync(_mappingMock.Object, request, _settings).ConfigureAwait(false);
+
+ // Assert
+ var j = JObject.FromObject(response.Message.BodyData.BodyAsJson);
+ j["Long"].Value().Should().BeInRange(1000000000, 9999999999);
+ }
}
\ No newline at end of file