Update REST Admin interface to support "Get Mapping(s) as C# Code" (#878)

* Add /__admin/mappings/code endpoint

* api

* fix

* .

* fix

* .

* .

* .
This commit is contained in:
Stef Heyenrath
2023-01-29 10:24:58 +01:00
committed by GitHub
parent 0fc664b404
commit 7fe2c8af78
45 changed files with 900 additions and 448 deletions

View File

@@ -0,0 +1,42 @@
#if !(NET452 || NET461)
using System.Collections.Generic;
using System.Collections.Specialized;
using Newtonsoft.Json.Linq;
using VerifyTests;
namespace WireMock.Net.Tests.VerifyExtensions;
internal static class VerifyNewtonsoftJson
{
public static void Enable(VerifySettings verifySettings)
{
// InnerVerifier.ThrowIfVerifyHasBeenRun();
verifySettings
.AddExtraSettings(_ =>
{
var converters = _.Converters;
converters.Add(new JArrayConverter());
converters.Add(new JObjectConverter());
});
}
}
internal class JArrayConverter : WriteOnlyJsonConverter<JArray>
{
public override void Write(VerifyJsonWriter writer, JArray value)
{
var list = value.ToObject<List<object>>()!;
writer.Serialize(list);
}
}
internal class JObjectConverter : WriteOnlyJsonConverter<JObject>
{
public override void Write(VerifyJsonWriter writer, JObject value)
{
var dictionary = value.ToObject<OrderedDictionary>()!;
writer.Serialize(dictionary);
}
}
#endif

View File

@@ -5,11 +5,13 @@ namespace WireMock.Net.Tests.VerifyExtensions;
internal static class VerifySettingsExtensions
{
public static void Init<T>(this VerifySettings verifySettings)
public static void Init(this VerifySettings verifySettings)
{
verifySettings.DontScrubDateTimes();
verifySettings.DontScrubDateTimes();
verifySettings.UseDirectory($"{typeof(T).Name}.Verify");
// verifySettings.UseDirectory($"{typeof(T).Name}.Verify");
VerifyNewtonsoftJson.Enable(verifySettings);
}
}
#endif