Update WireMockOpenApiParserSettings

This commit is contained in:
Stef Heyenrath
2021-11-29 08:40:39 +01:00
parent 4d80eb53fe
commit 57f89a06e1
2 changed files with 29 additions and 22 deletions

View File

@@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@@ -111,12 +111,15 @@ namespace WireMock.Net.OpenApiParser.Mappers
return null; return null;
} }
var requestBodyModel = new BodyModel(); return new BodyModel
requestBodyModel.Matcher = new MatcherModel(); {
requestBodyModel.Matcher.Name = "JsonMatcher"; Matcher = new MatcherModel
requestBodyModel.Matcher.Pattern = JsonConvert.SerializeObject(requestBody, Formatting.Indented); {
requestBodyModel.Matcher.IgnoreCase = _settings.IgnoreCaseRequestBody; Name = "JsonMatcher",
return requestBodyModel; Pattern = JsonConvert.SerializeObject(requestBody, Formatting.Indented),
IgnoreCase = _settings.RequestBodyIgnoreCase
}
};
} }
private bool TryGetContent(IDictionary<string, OpenApiMediaType> contents, out OpenApiMediaType openApiMediaType, out string contentType) private bool TryGetContent(IDictionary<string, OpenApiMediaType> contents, out OpenApiMediaType openApiMediaType, out string contentType)
@@ -328,7 +331,7 @@ namespace WireMock.Net.OpenApiParser.Mappers
.Select(qp => new ParamModel .Select(qp => new ParamModel
{ {
Name = qp.Name, Name = qp.Name,
IgnoreCase = _settings.IgnoreCaseQueryParams, IgnoreCase = _settings.QueryParameterPatternIgnoreCase,
Matchers = new[] Matchers = new[]
{ {
GetExampleMatcherModel(qp.Schema, _settings.QueryParameterPatternToUse) GetExampleMatcherModel(qp.Schema, _settings.QueryParameterPatternToUse)
@@ -346,7 +349,7 @@ namespace WireMock.Net.OpenApiParser.Mappers
.Select(qp => new HeaderModel .Select(qp => new HeaderModel
{ {
Name = qp.Name, Name = qp.Name,
IgnoreCase = _settings.IgnoreCaseHeaders, IgnoreCase = _settings.HeaderPatternIgnoreCase,
Matchers = new[] Matchers = new[]
{ {
GetExampleMatcherModel(qp.Schema, _settings.HeaderPatternToUse) GetExampleMatcherModel(qp.Schema, _settings.HeaderPatternToUse)

View File

@@ -28,33 +28,37 @@ namespace WireMock.Net.OpenApiParser.Settings
public ExampleValueType QueryParameterPatternToUse { get; set; } = ExampleValueType.Value; public ExampleValueType QueryParameterPatternToUse { get; set; } = ExampleValueType.Value;
/// <summary> /// <summary>
/// The example values to use /// The example values to use.
///
/// Default implementations are:
/// - <see cref="WireMockOpenApiParserExampleValues"/>
/// - <see cref="WireMockOpenApiParserDynamicExampleValues"/>
/// </summary> /// </summary>
public IWireMockOpenApiParserExampleValues ExampleValues { get; set; } public IWireMockOpenApiParserExampleValues ExampleValues { get; set; }
/// <summary> /// <summary>
/// Are examples generated dynamically? /// Is a Header match case insensitive? (default is true).
/// </summary> /// </summary>
public bool DynamicExamples { get; set; } = false; public bool HeaderPatternIgnoreCase { get; set; } = true;
/// <summary> /// <summary>
/// Is headers case sensitive? (default is true). /// Is a Query Parameter match case insensitive? (default is true).
/// </summary> /// </summary>
public bool IgnoreCaseHeaders { get; set; } = true; public bool QueryParameterPatternIgnoreCase { get; set; } = true;
/// <summary> /// <summary>
/// Is query params case sensitive? (default is true). /// Is a Request Body match case insensitive? (default is true).
/// </summary> /// </summary>
public bool IgnoreCaseQueryParams { get; set; } = true; public bool RequestBodyIgnoreCase { get; set; } = true;
/// <summary> /// <summary>
/// Is request body case sensitive? (default is true). /// Is a ExampleValue match case insensitive? (default is true).
/// </summary>
public bool IgnoreCaseRequestBody { get; set; } = true;
/// <summary>
/// Are example values case sensitive? (default is true).
/// </summary> /// </summary>
public bool IgnoreCaseExampleValues { get; set; } = true; public bool IgnoreCaseExampleValues { get; set; } = true;
/// <summary>
/// Are examples generated dynamically? (default is false).
/// </summary>
public bool DynamicExamples { get; set; } = false;
} }
} }