diff --git a/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockANumberOfCallsAssertions.cs b/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockANumberOfCallsAssertions.cs index 87380bc8..70b8899b 100644 --- a/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockANumberOfCallsAssertions.cs +++ b/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockANumberOfCallsAssertions.cs @@ -1,6 +1,5 @@ // Copyright © WireMock.Net -using Stef.Validation; using WireMock.Server; // ReSharper disable once CheckNamespace @@ -10,31 +9,20 @@ namespace WireMock.AwesomeAssertions; /// Provides assertion methods to verify the number of calls made to a WireMock server. /// This class is used in the context of AwesomeAssertions. /// -public class WireMockANumberOfCallsAssertions +/// +/// Initializes a new instance of the class. +/// +/// The WireMock server to assert against. +/// The expected number of calls to assert. +/// The assertion chain +public class WireMockANumberOfCallsAssertions(IWireMockServer server, int callsCount, AssertionChain chain) { - private readonly IWireMockServer _server; - private readonly int _callsCount; - private readonly AssertionChain _chain; - - /// - /// Initializes a new instance of the class. - /// - /// The WireMock server to assert against. - /// The expected number of calls to assert. - /// The assertion chain - public WireMockANumberOfCallsAssertions(IWireMockServer server, int callsCount, AssertionChain chain) - { - _server = Guard.NotNull(server); - _callsCount = callsCount; - _chain = chain; - } - /// /// Returns an instance of which can be used to assert the expected number of calls. /// /// A instance for asserting the number of calls to the server. public WireMockAssertions Calls() { - return new WireMockAssertions(_server, _callsCount, _chain); + return new WireMockAssertions(server, callsCount, chain); } } \ No newline at end of file diff --git a/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockAssertions.cs b/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockAssertions.cs index ab63e823..cdbc8640 100644 --- a/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockAssertions.cs +++ b/src/WireMock.Net.AwesomeAssertions/Assertions/WireMockAssertions.cs @@ -11,9 +11,10 @@ public partial class WireMockAssertions { public const string Any = "*"; + private readonly AssertionChain _chain; + public int? CallsCount { get; } public IReadOnlyList RequestMessages { get; private set; } - private readonly AssertionChain _chain; public WireMockAssertions(IWireMockServer subject, int? callsCount, AssertionChain chain) { diff --git a/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs b/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs index 6807a8c2..bb7d5ef2 100644 --- a/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs +++ b/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs @@ -3,6 +3,8 @@ using System.Net.Http.Headers; using System.Text; using Stef.Validation; +using WireMock.Admin.Mappings; +using WireMock.Admin.Requests; using WireMock.Client.Builders; namespace WireMock.Client.Extensions; @@ -73,6 +75,21 @@ public static class WireMockAdminApiExtensions } } + /// + /// Find requests based on the criteria (). + /// + /// See . + /// The action to fluently build the request model. + /// The optional cancellationToken. + public static Task> FindRequestsAsync(this IWireMockAdminApi adminApi, Action builder, CancellationToken cancellationToken = default) + { + var modelBuilder = new RequestModelBuilder(); + builder(modelBuilder); + + var requestModel = modelBuilder.Build(); + return adminApi.FindRequestsAsync(requestModel, cancellationToken); + } + private static async Task IsHealthyAsync(IWireMockAdminApi adminApi, CancellationToken cancellationToken) { try