mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-11 22:30:41 +01:00
* Add TIOBE + include SonarAnalyzer.CSharp * . * cp * Copyright © WireMock.Net * more fixes * fix * xpath * if (Matchers == null || !Matchers.Any()) * if (Matchers != null) * ? * . * .
80 lines
2.6 KiB
C#
80 lines
2.6 KiB
C#
// Copyright © WireMock.Net
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using WireMock.Admin.Mappings;
|
|
using WireMock.Logging;
|
|
using WireMock.Net.OpenApiParser.Extensions;
|
|
using WireMock.Net.OpenApiParser.Settings;
|
|
using WireMock.Net.OpenApiParser.Types;
|
|
using WireMock.Server;
|
|
using WireMock.Settings;
|
|
|
|
namespace WireMock.Net.OpenApiParser.ConsoleApp;
|
|
|
|
public static class Run
|
|
{
|
|
public static WireMockServer RunServer(
|
|
string path,
|
|
string url,
|
|
bool dynamicExamples = true,
|
|
IWireMockOpenApiParserExampleValues? examplesValuesGenerator = null,
|
|
ExampleValueType pathPatternToUse = ExampleValueType.Wildcard,
|
|
ExampleValueType headerPatternToUse = ExampleValueType.Wildcard
|
|
)
|
|
{
|
|
var server = WireMockServer.Start(new WireMockServerSettings
|
|
{
|
|
AllowCSharpCodeMatcher = true,
|
|
Urls = new[] { url },
|
|
StartAdminInterface = true,
|
|
ReadStaticMappings = true,
|
|
WatchStaticMappings = false,
|
|
WatchStaticMappingsInSubdirectories = false,
|
|
Logger = new WireMockConsoleLogger(),
|
|
SaveUnmatchedRequests = true
|
|
});
|
|
|
|
Console.WriteLine("WireMockServer listening at {0}", string.Join(",", server.Urls));
|
|
|
|
//server.SetBasicAuthentication("a", "b");
|
|
|
|
var settings = new WireMockOpenApiParserSettings
|
|
{
|
|
DynamicExamples = dynamicExamples,
|
|
ExampleValues = examplesValuesGenerator,
|
|
PathPatternToUse = pathPatternToUse,
|
|
HeaderPatternToUse = headerPatternToUse,
|
|
};
|
|
|
|
server.WithMappingFromOpenApiFile(path, settings, out var diag);
|
|
|
|
return server;
|
|
}
|
|
|
|
public static void RunServer(IEnumerable<MappingModel> mappings)
|
|
{
|
|
string url1 = "http://localhost:9091/";
|
|
|
|
var server = WireMockServer.Start(new WireMockServerSettings
|
|
{
|
|
AllowCSharpCodeMatcher = true,
|
|
Urls = new[] { url1 },
|
|
StartAdminInterface = true,
|
|
ReadStaticMappings = false,
|
|
WatchStaticMappings = false,
|
|
WatchStaticMappingsInSubdirectories = false,
|
|
Logger = new WireMockConsoleLogger(),
|
|
});
|
|
Console.WriteLine("WireMockServer listening at {0}", string.Join(",", server.Urls));
|
|
|
|
server.SetBasicAuthentication("a", "b");
|
|
|
|
server.WithMapping(mappings.ToArray());
|
|
|
|
Console.WriteLine("Press any key to stop the server");
|
|
System.Console.ReadKey();
|
|
server.Stop();
|
|
}
|
|
} |