Skip to content

WireMock as a (Azure) Web App

Stef Heyenrath edited this page Oct 25, 2022 · 10 revisions

It's also possible to run WireMock as a Web-Application on Azure or IIS.

References

WireMockService

Code

See this code example how a App-Service could look:

public class WireMockService : IWireMockService
{
	private static int sleepTime = 30000;
	private readonly ILogger _logger;
	private readonly IWireMockServerSettings _settings;

	private class Logger : IWireMockLogger
	{
		// Implement all methods from the IWireMockLogger here ...
	}

	public WireMockService(ILogger logger, IWireMockServerSettings settings)
	{
		_logger = logger;
		_settings = settings;

		_settings.Logger = new Logger(logger);
	}

	public void Run()
	{
		_logger.LogInformation("WireMock.Net server starting");

		StandAloneApp.Start(_settings);

		_logger.LogInformation($"WireMock.Net server settings {JsonConvert.SerializeObject(_settings)}");

		while (true)
		{
			_logger.LogInformation("WireMock.Net server running");
			Thread.Sleep(sleepTime);
		}
	}
}

Web.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <!--
    Configure your application settings in appsettings.json. Learn more at http://go.microsoft.com/fwlink/?LinkId=786380
  -->
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" />
  </system.webServer>
</configuration>

Example on Windows

For a full working example, see examples\WireMock.Net.WebApplication.NETCore3

Publish Settings

image

Example on Linux

For a full working example, see examples\WireMock.Net.WebApplication.NET6

Publish settings:

image

image

Clone this wiki locally