Skip to content

Commit

Permalink
s
Browse files Browse the repository at this point in the history
  • Loading branch information
StefH committed Jan 5, 2022
1 parent d842691 commit 9ba2af6
Show file tree
Hide file tree
Showing 16 changed files with 64 additions and 74 deletions.
2 changes: 1 addition & 1 deletion examples/WireMock.Net.Console.Net452.Classic/MainApp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ public static void Run()
.WithHeader("Transformed-Postman-Token", "token is {{request.headers.Postman-Token}}")
.WithHeader("xyz_{{request.headers.Postman-Token}}", "token is {{request.headers.Postman-Token}}")
.WithBody(@"{""msg"": ""Hello world CATCH-ALL on /*, {{request.path}}, add={{Math.Add request.query.start.[0] 42}} bykey={{request.query.start}}, bykey={{request.query.stop}}, byidx0={{request.query.stop.[0]}}, byidx1={{request.query.stop.[1]}}"" }")
.WithTransformer(TransformerType.Handlebars, true, ReplaceNodeOption.Default)
.WithTransformer(TransformerType.Handlebars, true, ReplaceNodeOptions.None)
.WithDelay(TimeSpan.FromMilliseconds(100))
);

Expand Down
4 changes: 2 additions & 2 deletions src/WireMock.Net.Abstractions/Admin/Mappings/ResponseModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,9 @@ public class ResponseModel
public bool? UseTransformerForBodyAsFile { get; set; }

/// <summary>
/// The ReplaceNodeOption to use when transforming a JSON node.
/// The ReplaceNodeOptions to use when transforming a JSON node.
/// </summary>
public string TransformerReplaceNodeOption { get; set; }
public string TransformerReplaceNodeOptions { get; set; }

/// <summary>
/// Gets or sets the headers.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@ public class WebhookRequestModel
public string TransformerType { get; set; }

/// <summary>
/// The ReplaceNodeOption to use when transforming a JSON node.
/// The ReplaceNodeOptions to use when transforming a JSON node.
/// </summary>
public string TransformerReplaceNodeOption { get; set; }
public string TransformerReplaceNodeOptions { get; set; }
}
}
4 changes: 2 additions & 2 deletions src/WireMock.Net.Abstractions/Models/IWebhookRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ public interface IWebhookRequest
TransformerType TransformerType { get; set; }

/// <summary>
/// The ReplaceNodeOption to use when transforming a JSON node.
/// The ReplaceNodeOptions to use when transforming a JSON node.
/// </summary>
ReplaceNodeOption TransformerReplaceNodeOption { get; set; }
ReplaceNodeOptions TransformerReplaceNodeOptions { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,12 @@ namespace WireMock.Types
/// Flags to use when replace a JSON node using the Transformer.
/// </summary>
[Flags]
public enum ReplaceNodeOption
public enum ReplaceNodeOptions
{
Default = 0,
//None = 0,

//StripQuotes = 0b00001000,

//AddQuotes = 0b00010000,

//Keep = 0b00000010,

///// <summary>
///// Don't replace any of the below types.
///// </summary>
//None = 0,
/// <summary>
/// Default
/// </summary>
None = 0

///// <summary>
///// Replace boolean string value to a real boolean value. (This is used by default to maintain backward compatibility.)
Expand Down
2 changes: 1 addition & 1 deletion src/WireMock.Net/Http/WebhookSender.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public Task<HttpResponseMessage> SendAsync([NotNull] HttpClient client, [NotNull
throw new NotImplementedException($"TransformerType '{request.TransformerType}' is not supported.");
}

(bodyData, headers) = responseMessageTransformer.Transform(originalRequestMessage, originalResponseMessage, request.BodyData, request.Headers, request.TransformerReplaceNodeOption);
(bodyData, headers) = responseMessageTransformer.Transform(originalRequestMessage, originalResponseMessage, request.BodyData, request.Headers, request.TransformerReplaceNodeOptions);
}
else
{
Expand Down
4 changes: 2 additions & 2 deletions src/WireMock.Net/Models/WebhookRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public class WebhookRequest : IWebhookRequest
/// <inheritdoc cref="IWebhookRequest.TransformerType"/>
public TransformerType TransformerType { get; set; }

/// <inheritdoc cref="IWebhookRequest.TransformerReplaceNodeOption"/>
public ReplaceNodeOption TransformerReplaceNodeOption { get; set; }
/// <inheritdoc cref="IWebhookRequest.TransformerReplaceNodeOptions"/>
public ReplaceNodeOptions TransformerReplaceNodeOptions { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@ public interface ITransformResponseBuilder : IDelayResponseBuilder
/// <returns>
/// The <see cref="IResponseBuilder"/>.
/// </returns>
IResponseBuilder WithTransformer(ReplaceNodeOption option);
IResponseBuilder WithTransformer(ReplaceNodeOptions options);

/// <summary>
/// Use a specific ResponseMessage transformer.
/// </summary>
/// <returns>
/// The <see cref="IResponseBuilder"/>.
/// </returns>
IResponseBuilder WithTransformer(TransformerType transformerType = TransformerType.Handlebars, bool transformContentFromBodyAsFile = false, ReplaceNodeOption option = ReplaceNodeOption.Default);
IResponseBuilder WithTransformer(TransformerType transformerType = TransformerType.Handlebars, bool transformContentFromBodyAsFile = false, ReplaceNodeOptions options = ReplaceNodeOptions.None);
}
}
18 changes: 9 additions & 9 deletions src/WireMock.Net/ResponseBuilders/Response.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ public TimeSpan? Delay
public bool UseTransformerForBodyAsFile { get; private set; }

/// <summary>
/// Gets the ReplaceNodeOption to use when transforming a JSON node.
/// Gets the ReplaceNodeOptions to use when transforming a JSON node.
/// </summary>
public ReplaceNodeOption TransformerReplaceNodeOption { get; private set; }
public ReplaceNodeOptions TransformerReplaceNodeOptions { get; private set; }

/// <summary>
/// Gets the response message.
Expand Down Expand Up @@ -340,21 +340,21 @@ public IResponseBuilder WithTransformer(bool transformContentFromBodyAsFile)
return WithTransformer(TransformerType.Handlebars, transformContentFromBodyAsFile);
}

/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer(ReplaceNodeOption)"/>
public IResponseBuilder WithTransformer(ReplaceNodeOption option)
/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer(ReplaceNodeOptions)"/>
public IResponseBuilder WithTransformer(ReplaceNodeOptions options)
{
return WithTransformer(TransformerType.Handlebars, false, option);
return WithTransformer(TransformerType.Handlebars, false, options);
}

#pragma warning disable CS1574
/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer(TransformerType, bool, ReplaceNodeOption)"/>
/// <inheritdoc cref="ITransformResponseBuilder.WithTransformer(TransformerType, bool, ReplaceNodeOptions)"/>
#pragma warning restore CS1574
public IResponseBuilder WithTransformer(TransformerType transformerType, bool transformContentFromBodyAsFile = false, ReplaceNodeOption option = ReplaceNodeOption.Default)
public IResponseBuilder WithTransformer(TransformerType transformerType, bool transformContentFromBodyAsFile = false, ReplaceNodeOptions options = ReplaceNodeOptions.None)
{
UseTransformer = true;
TransformerType = transformerType;
UseTransformerForBodyAsFile = transformContentFromBodyAsFile;
TransformerReplaceNodeOption = option;
TransformerReplaceNodeOptions = options;
return this;
}

Expand Down Expand Up @@ -469,7 +469,7 @@ string RemoveFirstOccurrence(string source, string find)
throw new NotImplementedException($"TransformerType '{TransformerType}' is not supported.");
}

return (responseMessageTransformer.Transform(requestMessage, responseMessage, UseTransformerForBodyAsFile, TransformerReplaceNodeOption), null);
return (responseMessageTransformer.Transform(requestMessage, responseMessage, UseTransformerForBodyAsFile, TransformerReplaceNodeOptions), null);
}

if (!UseTransformer && ResponseMessage.BodyData?.BodyAsFileIsCached == true)
Expand Down
4 changes: 2 additions & 2 deletions src/WireMock.Net/Serialization/MappingConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ public MappingModel ToMappingModel(IMapping mapping)
mappingModel.Response.UseTransformer = null;
mappingModel.Response.TransformerType = null;
mappingModel.Response.UseTransformerForBodyAsFile = null;
mappingModel.Response.TransformerReplaceNodeOption = null;
mappingModel.Response.TransformerReplaceNodeOptions = null;
mappingModel.Response.BodyEncoding = null;
mappingModel.Response.ProxyUrl = response.ProxyAndRecordSettings.Url;
mappingModel.Response.Fault = null;
Expand All @@ -151,7 +151,7 @@ public MappingModel ToMappingModel(IMapping mapping)
{
mappingModel.Response.UseTransformer = response.UseTransformer;
mappingModel.Response.TransformerType = response.TransformerType.ToString();
mappingModel.Response.TransformerReplaceNodeOption = response.TransformerReplaceNodeOption.ToString();
mappingModel.Response.TransformerReplaceNodeOptions = response.TransformerReplaceNodeOptions.ToString();
}

if (response.UseTransformerForBodyAsFile)
Expand Down
8 changes: 4 additions & 4 deletions src/WireMock.Net/Serialization/WebhookMapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ public static IWebhook Map(WebhookModel model)
}
webhook.Request.TransformerType = transformerType;

if (!Enum.TryParse<ReplaceNodeOption>(model.Request.TransformerReplaceNodeOption, out var option))
if (!Enum.TryParse<ReplaceNodeOptions>(model.Request.TransformerReplaceNodeOptions, out var option))
{
option = ReplaceNodeOption.Default;
option = ReplaceNodeOptions.None;
}

webhook.Request.TransformerReplaceNodeOption = option;
webhook.Request.TransformerReplaceNodeOptions = option;
}

IEnumerable<string> contentTypeHeader = null;
Expand Down Expand Up @@ -84,7 +84,7 @@ public static WebhookModel Map(IWebhook webhook)
Headers = webhook.Request.Headers?.ToDictionary(x => x.Key, x => x.Value.ToString()),
UseTransformer = webhook.Request.UseTransformer,
TransformerType = webhook.Request.UseTransformer == true ? webhook.Request.TransformerType.ToString() : null,
TransformerReplaceNodeOption = webhook.Request.TransformerReplaceNodeOption.ToString()
TransformerReplaceNodeOptions = webhook.Request.TransformerReplaceNodeOptions.ToString()
}
};

Expand Down
4 changes: 2 additions & 2 deletions src/WireMock.Net/Server/WireMockServer.Admin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -786,9 +786,9 @@ private IResponseBuilder InitResponseBuilder(ResponseModel responseModel)
transformerType = TransformerType.Handlebars;
}

if (!Enum.TryParse<ReplaceNodeOption>(responseModel.TransformerReplaceNodeOption, out var option))
if (!Enum.TryParse<ReplaceNodeOptions>(responseModel.TransformerReplaceNodeOptions, out var option))
{
option = ReplaceNodeOption.Default;
option = ReplaceNodeOptions.None;
}
responseBuilder = responseBuilder.WithTransformer(
transformerType,
Expand Down
4 changes: 2 additions & 2 deletions src/WireMock.Net/Transformers/ITransformer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ namespace WireMock.Transformers
{
interface ITransformer
{
ResponseMessage Transform(RequestMessage requestMessage, ResponseMessage original, bool useTransformerForBodyAsFile, ReplaceNodeOption option);
ResponseMessage Transform(RequestMessage requestMessage, ResponseMessage original, bool useTransformerForBodyAsFile, ReplaceNodeOptions options);

(IBodyData BodyData, IDictionary<string, WireMockList<string>> Headers) Transform(RequestMessage originalRequestMessage, ResponseMessage originalResponseMessage, IBodyData bodyData, IDictionary<string, WireMockList<string>> headers, ReplaceNodeOption option);
(IBodyData BodyData, IDictionary<string, WireMockList<string>> Headers) Transform(RequestMessage originalRequestMessage, ResponseMessage originalResponseMessage, IBodyData bodyData, IDictionary<string, WireMockList<string>> headers, ReplaceNodeOptions options);
}
}
Loading

0 comments on commit 9ba2af6

Please sign in to comment.