From af46a490a550f3934de73dd472774849c0e4245d Mon Sep 17 00:00:00 2001 From: Stef Heyenrath Date: Tue, 16 Jul 2019 22:05:36 +0200 Subject: [PATCH] MappingModels (#298) * MappingModels * WhiteSource Bolt * 23 --- Directory.Build.props | 2 +- GitHubReleaseNotes.txt | 2 +- azure-pipelines.yml | 3 +++ .../WireMock.Net.Console.Net452.Classic/MainApp.cs | 2 ++ src/WireMock.Net/Server/FluentMockServer.Admin.cs | 13 +++++-------- src/WireMock.Net/Server/FluentMockServer.cs | 7 +++++++ .../FluentMockServerTests.Admin.cs | 2 ++ 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index a1fc5f0e..952830bb 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,7 +4,7 @@ - 1.0.22 + 1.0.23 diff --git a/GitHubReleaseNotes.txt b/GitHubReleaseNotes.txt index c07cf839..3a6d2a8d 100644 --- a/GitHubReleaseNotes.txt +++ b/GitHubReleaseNotes.txt @@ -1,3 +1,3 @@ https://github.com/StefH/GitHubReleaseNotes -GitHubReleaseNotes.exe --output CHANGELOG.md --skip-empty-releases --version 1.0.22.0 \ No newline at end of file +GitHubReleaseNotes.exe --output CHANGELOG.md --skip-empty-releases --version 1.0.23.0 \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 7a56d892..4c58c934 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -38,6 +38,9 @@ steps: %USERPROFILE%\.dotnet\tools\dotnet-sonarscanner end /d:sonar.login="$(SONAR_TOKEN)" displayName: End SonarScanner +- task: whitesource.ws-bolt.bolt.wss.WhiteSource Bolt@19 + displayName: 'WhiteSource Bolt' + # Upload coverage to codecov.io - script: | %USERPROFILE%\.nuget\packages\codecov\1.1.0\tools\codecov.exe -f "./test/WireMock.Net.Tests/coverage.opencover.xml" -t $(CODECOV_TOKEN) diff --git a/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs b/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs index 4a44eee1..334fecc0 100644 --- a/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs +++ b/examples/WireMock.Net.Console.Net452.Classic/MainApp.cs @@ -448,6 +448,8 @@ namespace WireMock.Net.ConsoleApplication .WithHeader("Content-Type", "application/json") .WithBodyAsJson(new { Id = "5bdf076c-5654-4b3e-842c-7caf1fabf8c9" })); + System.Console.WriteLine(JsonConvert.SerializeObject(server.MappingModels, Formatting.Indented)); + System.Console.WriteLine("Press any key to stop the server"); System.Console.ReadKey(); server.Stop(); diff --git a/src/WireMock.Net/Server/FluentMockServer.Admin.cs b/src/WireMock.Net/Server/FluentMockServer.Admin.cs index 176c3d4d..e5d449fa 100644 --- a/src/WireMock.Net/Server/FluentMockServer.Admin.cs +++ b/src/WireMock.Net/Server/FluentMockServer.Admin.cs @@ -427,17 +427,14 @@ namespace WireMock.Server { return Path.GetInvalidFileNameChars().Aggregate(name, (current, c) => current.Replace(c, replaceChar)); } + private IEnumerable ToMappingModels() + { + return Mappings.Where(m => !m.IsAdminInterface).Select(MappingConverter.ToMappingModel); + } private ResponseMessage MappingsGet(RequestMessage requestMessage) { - var result = new List(); - foreach (var mapping in Mappings.Where(m => !m.IsAdminInterface)) - { - var model = MappingConverter.ToMappingModel(mapping); - result.Add(model); - } - - return ToJson(result); + return ToJson(ToMappingModels()); } private ResponseMessage MappingsPost(RequestMessage requestMessage) diff --git a/src/WireMock.Net/Server/FluentMockServer.cs b/src/WireMock.Net/Server/FluentMockServer.cs index 75278288..cd35177c 100644 --- a/src/WireMock.Net/Server/FluentMockServer.cs +++ b/src/WireMock.Net/Server/FluentMockServer.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; +using WireMock.Admin.Mappings; using WireMock.Exceptions; using WireMock.Handlers; using WireMock.Logging; @@ -55,6 +56,12 @@ namespace WireMock.Server [PublicAPI] public IEnumerable Mappings => _options.Mappings.Values.ToArray(); + /// + /// Gets the mappings as MappingModels. + /// + [PublicAPI] + public IEnumerable MappingModels => ToMappingModels(); + /// /// Gets the scenarios. /// diff --git a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs index 06b6a30a..6f07ca08 100644 --- a/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs +++ b/test/WireMock.Net.Tests/FluentMockServerTests.Admin.cs @@ -47,12 +47,14 @@ namespace WireMock.Net.Tests server.ReadStaticMappings(folder); Check.That(server.Mappings).HasSize(5); + Check.That(server.MappingModels).HasSize(5); // Act server.ResetMappings(); // Assert Check.That(server.Mappings).HasSize(0); + Check.That(server.MappingModels).HasSize(0); } [Fact]