diff --git a/examples/WireMock.Net.Console.Net472.Classic/WireMock.Net.Console.Net472.Classic.csproj b/examples/WireMock.Net.Console.Net472.Classic/WireMock.Net.Console.Net472.Classic.csproj index e733692b..b6caa8ec 100644 --- a/examples/WireMock.Net.Console.Net472.Classic/WireMock.Net.Console.Net472.Classic.csproj +++ b/examples/WireMock.Net.Console.Net472.Classic/WireMock.Net.Console.Net472.Classic.csproj @@ -241,8 +241,8 @@ ..\..\packages\System.IO.Pipelines.4.5.3\lib\netstandard2.0\System.IO.Pipelines.dll - - ..\..\packages\System.Linq.Dynamic.Core.1.2.16\lib\net46\System.Linq.Dynamic.Core.dll + + ..\..\packages\System.Linq.Dynamic.Core.1.2.18\lib\net46\System.Linq.Dynamic.Core.dll ..\..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll diff --git a/examples/WireMock.Net.Console.Net472.Classic/packages.config b/examples/WireMock.Net.Console.Net472.Classic/packages.config index 24527bb1..38d2b8fa 100644 --- a/examples/WireMock.Net.Console.Net472.Classic/packages.config +++ b/examples/WireMock.Net.Console.Net472.Classic/packages.config @@ -67,7 +67,7 @@ - + diff --git a/examples/WireMock.Net.StandAlone.Net461/WireMock.Net.StandAlone.Net461.csproj b/examples/WireMock.Net.StandAlone.Net461/WireMock.Net.StandAlone.Net461.csproj index f4adcaef..2d1224de 100644 --- a/examples/WireMock.Net.StandAlone.Net461/WireMock.Net.StandAlone.Net461.csproj +++ b/examples/WireMock.Net.StandAlone.Net461/WireMock.Net.StandAlone.Net461.csproj @@ -225,8 +225,8 @@ ..\..\packages\System.IO.Pipelines.4.5.2\lib\netstandard2.0\System.IO.Pipelines.dll - - ..\..\packages\System.Linq.Dynamic.Core.1.2.16\lib\net46\System.Linq.Dynamic.Core.dll + + ..\..\packages\System.Linq.Dynamic.Core.1.2.18\lib\net46\System.Linq.Dynamic.Core.dll ..\..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll diff --git a/examples/WireMock.Net.StandAlone.Net461/packages.config b/examples/WireMock.Net.StandAlone.Net461/packages.config index d51deb61..0ee950d0 100644 --- a/examples/WireMock.Net.StandAlone.Net461/packages.config +++ b/examples/WireMock.Net.StandAlone.Net461/packages.config @@ -65,7 +65,7 @@ - + diff --git a/src/WireMock.Net.Abstractions/Server/IWireMockServer.cs b/src/WireMock.Net.Abstractions/Server/IWireMockServer.cs index e0e2db5f..f24f8a4e 100644 --- a/src/WireMock.Net.Abstractions/Server/IWireMockServer.cs +++ b/src/WireMock.Net.Abstractions/Server/IWireMockServer.cs @@ -38,11 +38,21 @@ namespace WireMock.Server /// List Ports { get; } + /// + /// Gets the first port. + /// + int Port { get; } + /// /// Gets the urls. /// string[] Urls { get; } + /// + /// Gets the first url. + /// + string Url { get; } + //ConcurrentDictionary Scenarios { get; } /// diff --git a/src/WireMock.Net/Server/WireMockServer.cs b/src/WireMock.Net/Server/WireMockServer.cs index de97a02e..2bd3dc73 100644 --- a/src/WireMock.Net/Server/WireMockServer.cs +++ b/src/WireMock.Net/Server/WireMockServer.cs @@ -7,6 +7,7 @@ using System.Linq; using System.Threading; using JetBrains.Annotations; using Newtonsoft.Json; +using Stef.Validation; using WireMock.Admin.Mappings; using WireMock.Authentication; using WireMock.Exceptions; @@ -18,7 +19,6 @@ using WireMock.RequestBuilders; using WireMock.ResponseProviders; using WireMock.Serialization; using WireMock.Settings; -using Stef.Validation; namespace WireMock.Server { @@ -40,14 +40,22 @@ namespace WireMock.Server [PublicAPI] public bool IsStarted => _httpServer != null && _httpServer.IsStarted; - /// + /// [PublicAPI] public List Ports { get; } - /// + /// + [PublicAPI] + public int Port => Ports?.FirstOrDefault() ?? default(int); + + /// [PublicAPI] public string[] Urls { get; } + /// + [PublicAPI] + public string Url => Urls?.FirstOrDefault(); + /// /// Gets the mappings. /// diff --git a/src/WireMock.Net/WireMock.Net.csproj b/src/WireMock.Net/WireMock.Net.csproj index b13e512a..759e778a 100644 --- a/src/WireMock.Net/WireMock.Net.csproj +++ b/src/WireMock.Net/WireMock.Net.csproj @@ -60,7 +60,7 @@ - + diff --git a/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj b/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj index 7505d52d..eb10c5cf 100644 --- a/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj +++ b/test/WireMock.Net.Tests/WireMock.Net.Tests.csproj @@ -59,7 +59,7 @@ - + diff --git a/test/WireMock.Net.Tests/WireMockServer.Admin.cs b/test/WireMock.Net.Tests/WireMockServer.Admin.cs index 3a0734ea..bea1916c 100644 --- a/test/WireMock.Net.Tests/WireMockServer.Admin.cs +++ b/test/WireMock.Net.Tests/WireMockServer.Admin.cs @@ -324,7 +324,7 @@ namespace WireMock.Net.Tests Check.That(mappings).HasSize(2); // when - var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + "/1").ConfigureAwait(false); + var response = await new HttpClient().GetAsync("http://localhost:" + server.Port + "/1").ConfigureAwait(false); // then Check.That((int)response.StatusCode).IsEqualTo(400); diff --git a/test/WireMock.Net.Tests/WireMockServerTests.cs b/test/WireMock.Net.Tests/WireMockServerTests.cs index f5e0643f..07d36fdf 100644 --- a/test/WireMock.Net.Tests/WireMockServerTests.cs +++ b/test/WireMock.Net.Tests/WireMockServerTests.cs @@ -328,7 +328,7 @@ namespace WireMock.Net.Tests var server = WireMockServer.StartWithAdminInterface(); // Act - var response = await new HttpClient().PostAsync($"{server.Urls[0]}/__admin/mappings", stringContent).ConfigureAwait(false); + var response = await new HttpClient().PostAsync($"{server.Url}/__admin/mappings", stringContent).ConfigureAwait(false); // Assert Check.That(response.StatusCode).Equals(HttpStatusCode.Created);