diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs index 0ff582d1..5dbb11d3 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs @@ -7,6 +7,7 @@ using Moq; using Newtonsoft.Json; using NFluent; using WireMock.Handlers; +using WireMock.Logging; using WireMock.RequestBuilders; using WireMock.ResponseBuilders; using WireMock.Server; @@ -27,6 +28,23 @@ namespace WireMock.Net.Tests return current; } + [Fact] + public void FluentMockServer_Admin_ResetMappings() + { + var server = FluentMockServer.Start(); + + string folder = Path.Combine(GetCurrentFolder(), "__admin", "mappings"); + server.ReadStaticMappings(folder); + + Check.That(server.Mappings).HasSize(3); + + // Act + server.ResetMappings(); + + // Assert + Check.That(server.Mappings).HasSize(0); + } + [Fact] public void FluentMockServer_Admin_StartStop() { @@ -193,6 +211,28 @@ namespace WireMock.Net.Tests Check.That(mappings).HasSize(3); } + [Fact] + public void FluentMockServer_Admin_ReadStaticMappings_FolderDoesNotExist() + { + // Assign + var loggerMock = new Mock(); + loggerMock.Setup(l => l.Info(It.IsAny(), It.IsAny())); + var settings = new FluentMockServerSettings + { + Logger = loggerMock.Object + }; + var _server = FluentMockServer.Start(settings); + + // Act + _server.ReadStaticMappings(Guid.NewGuid().ToString()); + + // Assert + Check.That(_server.Mappings).HasSize(0); + + // Verify + loggerMock.Verify(l => l.Info(It.Is(s => s.StartsWith("The Static Mapping folder")), It.IsAny()), Times.Once); + } + [Fact] public void FluentMockServer_Admin_Mappings_WithGuid_Get() { @@ -310,5 +350,24 @@ namespace WireMock.Net.Tests var requestLoggedB = _server.LogEntries.Last(); Check.That(requestLoggedB.RequestMessage.Path).EndsWith("/foo3"); } + + [Fact] + public void FluentMockServer_Admin_WatchStaticMappings() + { + // Assign + var fileMock = new Mock(); + var settings = new FluentMockServerSettings + { + FileSystemHandler = fileMock.Object + }; + var _server = FluentMockServer.Start(settings); + + // Act + _server.WatchStaticMappings(); + + // Verify + fileMock.Verify(f => f.GetMappingFolder(), Times.Once); + fileMock.Verify(f => f.FolderExists(It.IsAny()), Times.Once); + } } } \ No newline at end of file