This commit is contained in:
Stef Heyenrath
2026-02-14 12:47:32 +01:00
parent c24f2396ff
commit 80aa55b2df
6 changed files with 117 additions and 94 deletions

View File

@@ -31,7 +31,7 @@ jobs:
run: dotnet test './test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj' -c Release run: dotnet test './test/WireMock.Net.Tests.UsingNuGet/WireMock.Net.Tests.UsingNuGet.csproj' -c Release
- name: 'WireMock.Net.TUnitTests' - name: 'WireMock.Net.TUnitTests'
run: dotnet test './test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj' -c Release --framework net8.0 run: dotnet test './test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj' -c Release --framework net8.0 -p:UseVSTest=false
- name: 'WireMock.Net.Middleware.Tests' - name: 'WireMock.Net.Middleware.Tests'
run: dotnet test './test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj' -c Release --framework net8.0 run: dotnet test './test/WireMock.Net.Middleware.Tests/WireMock.Net.Middleware.Tests.csproj' -c Release --framework net8.0

View File

@@ -58,9 +58,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Actions", "Actions", "{1DAE
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Azure Pipelines", "Azure Pipelines", "{5B64F6CA-BF6B-4F67-BB2A-9C47E441703E}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Azure Pipelines", "Azure Pipelines", "{5B64F6CA-BF6B-4F67-BB2A-9C47E441703E}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject
azure-pipelines-ci-linux.yml = azure-pipelines-ci-linux.yml
azure-pipelines-ci.yml = azure-pipelines-ci.yml azure-pipelines-ci.yml = azure-pipelines-ci.yml
azure-pipelines-linux.yml = azure-pipelines-linux.yml
azure-pipelines-nuget.yml = azure-pipelines-nuget.yml azure-pipelines-nuget.yml = azure-pipelines-nuget.yml
EndProjectSection EndProjectSection
EndProject EndProject

View File

@@ -53,7 +53,7 @@ jobs:
- task: CmdLine@2 - task: CmdLine@2
inputs: inputs:
script: | script: |
dotnet-coverage collect "dotnet test ./test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj --configuration Debug --no-build --framework net8.0" -f xml -o "wiremock-coverage-tunit.xml" dotnet-coverage collect "dotnet test ./test/WireMock.Net.TUnitTests/WireMock.Net.TUnitTests.csproj --configuration Debug -p:UseVSTest=false --no-build --framework net8.0" -f xml -o "wiremock-coverage-tunit.xml"
displayName: 'WireMock.Net.TUnitTests with Coverage' displayName: 'WireMock.Net.TUnitTests with Coverage'
- task: CmdLine@2 - task: CmdLine@2

View File

@@ -47,6 +47,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_WaitForHealthAsync_AndCall_GetHealthAsync_OK() public async Task IWireMockAdminApi_WaitForHealthAsync_AndCall_GetHealthAsync_OK()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var adminUsername = $"username_{Guid.NewGuid()}"; var adminUsername = $"username_{Guid.NewGuid()}";
var adminPassword = $"password_{Guid.NewGuid()}"; var adminPassword = $"password_{Guid.NewGuid()}";
var server = WireMockServer.Start(w => var server = WireMockServer.Start(w =>
@@ -59,10 +60,10 @@ public partial class WireMockAdminApiTests
.WithAuthorization(adminUsername, adminPassword); .WithAuthorization(adminUsername, adminPassword);
// Act 1 // Act 1
await api.WaitForHealthAsync(); await api.WaitForHealthAsync(cancellationToken: cancellationToken);
// Act 2 // Act 2
var status = await api.GetHealthAsync(); var status = await api.GetHealthAsync(cancellationToken);
status.Should().Be("Healthy"); status.Should().Be("Healthy");
} }
@@ -80,7 +81,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
Func<Task> act = () => api.WaitForHealthAsync(maxRetries: 3); Func<Task> act = () => api.WaitForHealthAsync(maxRetries: 3, cancellationToken: TestContext.Current.CancellationToken);
await act.Should().ThrowAsync<InvalidOperationException>(); await act.Should().ThrowAsync<InvalidOperationException>();
} }
@@ -92,7 +93,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
var settings = await api.GetSettingsAsync(); var settings = await api.GetSettingsAsync(TestContext.Current.CancellationToken);
Check.That(settings).IsNotNull(); Check.That(settings).IsNotNull();
} }
@@ -108,7 +109,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0] + "/foo"); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0] + "/foo");
// Act // Act
var settings = await api.GetSettingsAsync(); var settings = await api.GetSettingsAsync(TestContext.Current.CancellationToken);
// Assert // Assert
Check.That(settings).IsNotNull(); Check.That(settings).IsNotNull();
@@ -127,7 +128,7 @@ public partial class WireMockAdminApiTests
// Act // Act
var settings = new SettingsModel(); var settings = new SettingsModel();
var status = await api.PostSettingsAsync(settings); var status = await api.PostSettingsAsync(settings, TestContext.Current.CancellationToken);
Check.That(status.Status).Equals("Settings updated"); Check.That(status.Status).Equals("Settings updated");
} }
@@ -140,7 +141,7 @@ public partial class WireMockAdminApiTests
// Act // Act
var settings = new SettingsModel(); var settings = new SettingsModel();
var status = await api.PutSettingsAsync(settings); var status = await api.PutSettingsAsync(settings, TestContext.Current.CancellationToken);
Check.That(status.Status).Equals("Settings updated"); Check.That(status.Status).Equals("Settings updated");
} }
@@ -160,7 +161,7 @@ public partial class WireMockAdminApiTests
Priority = 500, Priority = 500,
Title = "test" Title = "test"
}; };
var result = await api.PutMappingAsync(new Guid("a0000000-0000-0000-0000-000000000000"), model); var result = await api.PutMappingAsync(new Guid("a0000000-0000-0000-0000-000000000000"), model, TestContext.Current.CancellationToken);
// Assert // Assert
Check.That(result).IsNotNull(); Check.That(result).IsNotNull();
@@ -180,6 +181,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_FindRequestsAsync() public async Task IWireMockAdminApi_FindRequestsAsync()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
StartAdminInterface = true, StartAdminInterface = true,
@@ -191,11 +193,11 @@ public partial class WireMockAdminApiTests
var serverUrl = "http://localhost:" + server.Ports[0]; var serverUrl = "http://localhost:" + server.Ports[0];
using var httpClient = new HttpClient(); using var httpClient = new HttpClient();
await httpClient.GetAsync(serverUrl + "/foo"); await httpClient.GetAsync(serverUrl + "/foo", cancellationToken);
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "GET" } }); var requests = await api.FindRequestsAsync(new RequestModel { Methods = new[] { "GET" } }, cancellationToken);
// Assert // Assert
requests.Should().HaveCount(1); requests.Should().HaveCount(1);
@@ -209,6 +211,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_Found() public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_Found()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var mappingGuid = Guid.NewGuid(); var mappingGuid = Guid.NewGuid();
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
@@ -222,12 +225,12 @@ public partial class WireMockAdminApiTests
var serverUrl = "http://localhost:" + server.Ports[0]; var serverUrl = "http://localhost:" + server.Ports[0];
using var client = new HttpClient(); using var client = new HttpClient();
await client.GetAsync(serverUrl + "/foo"); await client.GetAsync(serverUrl + "/foo", cancellationToken);
await client.GetAsync(serverUrl + "/foo?bar=baz"); await client.GetAsync(serverUrl + "/foo?bar=baz", cancellationToken);
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var logEntryModels = await api.FindRequestsByMappingGuidAsync(mappingGuid); var logEntryModels = await api.FindRequestsByMappingGuidAsync(mappingGuid, cancellationToken);
// Assert // Assert
logEntryModels.Should().HaveCount(2); logEntryModels.Should().HaveCount(2);
@@ -250,6 +253,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_NotFound() public async Task IWireMockAdminApi_FindRequestsByMappingGuidAsync_NotFound()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
StartAdminInterface = true, StartAdminInterface = true,
@@ -262,11 +266,11 @@ public partial class WireMockAdminApiTests
var serverUrl = "http://localhost:" + server.Ports[0]; var serverUrl = "http://localhost:" + server.Ports[0];
using var httpClient = new HttpClient(); using var httpClient = new HttpClient();
await httpClient.GetAsync(serverUrl + "/foo"); await httpClient.GetAsync(serverUrl + "/foo", cancellationToken);
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var logEntryModels = await api.FindRequestsByMappingGuidAsync(Guid.NewGuid()); var logEntryModels = await api.FindRequestsByMappingGuidAsync(Guid.NewGuid(), cancellationToken);
// Assert // Assert
logEntryModels.Should().BeEmpty(); logEntryModels.Should().BeEmpty();
@@ -283,7 +287,7 @@ public partial class WireMockAdminApiTests
}); });
// Act // Act
var result = await server.CreateClient().GetAsync("/__admin/requests/find?mappingGuid=x"); var result = await server.CreateClient().GetAsync("/__admin/requests/find?mappingGuid=x", TestContext.Current.CancellationToken);
// Assert // Assert
result.StatusCode.Should().Be(HttpStatusCode.BadRequest); result.StatusCode.Should().Be(HttpStatusCode.BadRequest);
@@ -293,6 +297,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetRequestsAsync() public async Task IWireMockAdminApi_GetRequestsAsync()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
StartAdminInterface = true, StartAdminInterface = true,
@@ -300,11 +305,11 @@ public partial class WireMockAdminApiTests
}); });
var serverUrl = "http://localhost:" + server.Ports[0]; var serverUrl = "http://localhost:" + server.Ports[0];
using var httpClient = new HttpClient(); using var httpClient = new HttpClient();
await httpClient.GetAsync(serverUrl + "/foo"); await httpClient.GetAsync(serverUrl + "/foo", cancellationToken);
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var requests = await api.GetRequestsAsync(); var requests = await api.GetRequestsAsync(cancellationToken);
// Assert // Assert
Check.That(requests).HasSize(1); Check.That(requests).HasSize(1);
@@ -318,6 +323,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetRequestsAsync_JsonApi() public async Task IWireMockAdminApi_GetRequestsAsync_JsonApi()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
StartAdminInterface = true, StartAdminInterface = true,
@@ -335,13 +341,13 @@ public partial class WireMockAdminApiTests
request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(jsonApiContentType); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(jsonApiContentType);
using var client = new HttpClient(); using var client = new HttpClient();
var response = await client.SendAsync(request); var response = await client.SendAsync(request, cancellationToken);
Check.That(response).IsNotNull(); Check.That(response).IsNotNull();
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var requests = await api.GetRequestsAsync(); var requests = await api.GetRequestsAsync(cancellationToken);
// Assert // Assert
Check.That(requests).HasSize(1); Check.That(requests).HasSize(1);
@@ -355,6 +361,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetMappingAsync_WithBodyModelMatcherModel_WithoutMethods_ShouldReturnCorrectMappingModel() public async Task IWireMockAdminApi_GetMappingAsync_WithBodyModelMatcherModel_WithoutMethods_ShouldReturnCorrectMappingModel()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05");
var server = WireMockServer.StartWithAdminInterface(); var server = WireMockServer.StartWithAdminInterface();
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
@@ -378,7 +385,7 @@ public partial class WireMockAdminApiTests
}, },
Response = new ResponseModel { Body = "world" } Response = new ResponseModel { Body = "world" }
}; };
var postMappingResult = await api.PostMappingAsync(model); var postMappingResult = await api.PostMappingAsync(model, cancellationToken);
// Assert // Assert
postMappingResult.Should().NotBeNull(); postMappingResult.Should().NotBeNull();
@@ -386,7 +393,7 @@ public partial class WireMockAdminApiTests
var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid);
mapping.Should().NotBeNull(); mapping.Should().NotBeNull();
var getMappingResult = await api.GetMappingAsync(guid); var getMappingResult = await api.GetMappingAsync(guid, cancellationToken);
await Verify(getMappingResult, VerifySettings).DontScrubGuids(); await Verify(getMappingResult, VerifySettings).DontScrubGuids();
@@ -397,6 +404,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplaceSettings() public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplaceSettings()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05");
var server = WireMockServer.StartWithAdminInterface(); var server = WireMockServer.StartWithAdminInterface();
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
@@ -429,7 +437,7 @@ public partial class WireMockAdminApiTests
} }
} }
}; };
var postMappingResult = await api.PostMappingAsync(model); var postMappingResult = await api.PostMappingAsync(model, cancellationToken);
// Assert // Assert
postMappingResult.Should().NotBeNull(); postMappingResult.Should().NotBeNull();
@@ -437,7 +445,7 @@ public partial class WireMockAdminApiTests
var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid);
mapping.Should().NotBeNull(); mapping.Should().NotBeNull();
var getMappingResult = await api.GetMappingAsync(guid); var getMappingResult = await api.GetMappingAsync(guid, cancellationToken);
await Verify(getMappingResult, VerifySettings).DontScrubGuids(); await Verify(getMappingResult, VerifySettings).DontScrubGuids();
@@ -448,6 +456,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplaceSettings_And_TransformTemplate() public async Task IWireMockAdminApi_GetMappingAsync_WithProxy_And_ProxyUrlReplaceSettings_And_TransformTemplate()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f06"); var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f06");
var server = WireMockServer.StartWithAdminInterface(); var server = WireMockServer.StartWithAdminInterface();
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
@@ -478,7 +487,7 @@ public partial class WireMockAdminApiTests
} }
} }
}; };
var postMappingResult = await api.PostMappingAsync(model).ConfigureAwait(false); var postMappingResult = await api.PostMappingAsync(model, cancellationToken);
// Assert // Assert
postMappingResult.Should().NotBeNull(); postMappingResult.Should().NotBeNull();
@@ -486,7 +495,7 @@ public partial class WireMockAdminApiTests
var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid);
mapping.Should().NotBeNull(); mapping.Should().NotBeNull();
var getMappingResult = await api.GetMappingAsync(guid).ConfigureAwait(false); var getMappingResult = await api.GetMappingAsync(guid, cancellationToken);
await Verify(getMappingResult, VerifySettings).DontScrubGuids(); await Verify(getMappingResult, VerifySettings).DontScrubGuids();
@@ -497,6 +506,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetRequestsAsync_Json() public async Task IWireMockAdminApi_GetRequestsAsync_Json()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(new WireMockServerSettings var server = WireMockServer.Start(new WireMockServerSettings
{ {
StartAdminInterface = true, StartAdminInterface = true,
@@ -513,13 +523,13 @@ public partial class WireMockAdminApiTests
request.Content = new StringContent(data); request.Content = new StringContent(data);
request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(jsonApiContentType); request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(jsonApiContentType);
using var client = new HttpClient(); using var client = new HttpClient();
var response = await client.SendAsync(request); var response = await client.SendAsync(request, cancellationToken);
Check.That(response).IsNotNull(); Check.That(response).IsNotNull();
var api = RestClient.For<IWireMockAdminApi>(serverUrl); var api = RestClient.For<IWireMockAdminApi>(serverUrl);
// Act // Act
var requests = await api.GetRequestsAsync(); var requests = await api.GetRequestsAsync(cancellationToken);
// Assert // Assert
Check.That(requests).HasSize(1); Check.That(requests).HasSize(1);
@@ -548,7 +558,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
var request = await api.PostFileAsync("filename.txt", "abc"); var request = await api.PostFileAsync("filename.txt", "abc", TestContext.Current.CancellationToken);
// Assert // Assert
Check.That(request.Guid).IsNull(); Check.That(request.Guid).IsNull();
@@ -581,7 +591,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
var request = await api.PutFileAsync("filename.txt", "abc-abc"); var request = await api.PutFileAsync("filename.txt", "abc-abc", TestContext.Current.CancellationToken);
// Assert // Assert
Check.That(request.Guid).IsNull(); Check.That(request.Guid).IsNull();
@@ -612,7 +622,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act and Assert // Act and Assert
Check.ThatCode(() => api.PutFileAsync("filename.txt", "xxx")).Throws<ApiException>(); Check.ThatCode(() => api.PutFileAsync("filename.txt", "xxx", TestContext.Current.CancellationToken)).Throws<ApiException>();
// Verify // Verify
filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once); filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once);
@@ -639,7 +649,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act and Assert // Act and Assert
Check.ThatCode(() => api.GetFileAsync("filename.txt")).Throws<ApiException>(); Check.ThatCode(() => api.GetFileAsync("filename.txt", TestContext.Current.CancellationToken)).Throws<ApiException>();
// Verify // Verify
filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once); filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once);
@@ -667,7 +677,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
string file = await api.GetFileAsync("filename.txt"); string file = await api.GetFileAsync("filename.txt", TestContext.Current.CancellationToken);
// Assert // Assert
Check.That(file).Equals(data); Check.That(file).Equals(data);
@@ -698,7 +708,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
await api.DeleteFileAsync("filename.txt"); await api.DeleteFileAsync("filename.txt", TestContext.Current.CancellationToken);
// Verify // Verify
filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once); filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once);
@@ -726,7 +736,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act and Assert // Act and Assert
Check.ThatCode(() => api.DeleteFileAsync("filename.txt")).Throws<ApiException>(); Check.ThatCode(() => api.DeleteFileAsync("filename.txt", TestContext.Current.CancellationToken)).Throws<ApiException>();
// Verify // Verify
filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once); filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once);
@@ -752,7 +762,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act and Assert // Act and Assert
Check.ThatCode(() => api.FileExistsAsync("filename.txt")).Throws<ApiException>(); Check.ThatCode(() => api.FileExistsAsync("filename.txt", TestContext.Current.CancellationToken)).Throws<ApiException>();
// Verify // Verify
filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once); filesystemHandlerMock.Verify(fs => fs.FileExists(It.Is<string>(p => p == "filename.txt")), Times.Once);
@@ -770,7 +780,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
var status = await api.DeleteScenarioAsync(name); var status = await api.DeleteScenarioAsync(name, TestContext.Current.CancellationToken);
status.Status.Should().Be("No scenario found by name 'x'."); status.Status.Should().Be("No scenario found by name 'x'.");
} }
@@ -783,7 +793,7 @@ public partial class WireMockAdminApiTests
var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]); var api = RestClient.For<IWireMockAdminApi>(server.Urls[0]);
// Act // Act
var status = await api.ResetScenarioAsync(name); var status = await api.ResetScenarioAsync(name, TestContext.Current.CancellationToken);
status.Status.Should().Be("No scenario found by name 'x'."); status.Status.Should().Be("No scenario found by name 'x'.");
} }
@@ -800,7 +810,7 @@ public partial class WireMockAdminApiTests
{ {
State = null State = null
}; };
var status = await api.PutScenarioStateAsync("x", update); var status = await api.PutScenarioStateAsync("x", update, TestContext.Current.CancellationToken);
status.Status.Should().Be("No scenario found by name 'x'."); status.Status.Should().Be("No scenario found by name 'x'.");
} }
@@ -834,7 +844,7 @@ public partial class WireMockAdminApiTests
{ {
State = null State = null
}; };
var status = await api.PutScenarioStateAsync("s1", update); var status = await api.PutScenarioStateAsync("s1", update, TestContext.Current.CancellationToken);
status.Status.Should().Be("Scenario state set to ''"); status.Status.Should().Be("Scenario state set to ''");
} }
@@ -861,7 +871,7 @@ public partial class WireMockAdminApiTests
// Act // Act
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
var getMappingResult = await api.GetMappingAsync(guid); var getMappingResult = await api.GetMappingAsync(guid, TestContext.Current.CancellationToken);
// Assert // Assert
var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid); var mapping = server.Mappings.FirstOrDefault(m => m.Guid == guid);
@@ -876,6 +886,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetMappingCodeByGuidAsync() public async Task IWireMockAdminApi_GetMappingCodeByGuidAsync()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); var guid = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05");
var server = WireMockServer.StartWithAdminInterface(); var server = WireMockServer.StartWithAdminInterface();
@@ -896,10 +907,10 @@ public partial class WireMockAdminApiTests
// Act // Act
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
var mappings = await api.GetMappingsAsync(); var mappings = await api.GetMappingsAsync(cancellationToken);
mappings.Should().HaveCount(1); mappings.Should().HaveCount(1);
var code = await api.GetMappingCodeAsync(guid); var code = await api.GetMappingCodeAsync(guid, cancellationToken: cancellationToken);
// Assert // Assert
await Verify(code).DontScrubDateTimes().DontScrubGuids(); await Verify(code).DontScrubDateTimes().DontScrubGuids();
@@ -911,6 +922,7 @@ public partial class WireMockAdminApiTests
public async Task IWireMockAdminApi_GetMappingsCode() public async Task IWireMockAdminApi_GetMappingsCode()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var guid1 = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05"); var guid1 = Guid.Parse("90356dba-b36c-469a-a17e-669cd84f1f05");
var guid2 = Guid.Parse("1b731398-4a5b-457f-a6e3-d65e541c428f"); var guid2 = Guid.Parse("1b731398-4a5b-457f-a6e3-d65e541c428f");
var guid3 = Guid.Parse("f74fd144-df53-404f-8e35-da22a640bd5f"); var guid3 = Guid.Parse("f74fd144-df53-404f-8e35-da22a640bd5f");
@@ -1018,10 +1030,10 @@ text
// Act // Act
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
var mappings = await api.GetMappingsAsync(); var mappings = await api.GetMappingsAsync(cancellationToken);
mappings.Should().HaveCount(5); mappings.Should().HaveCount(5);
var code = await api.GetMappingsCodeAsync(); var code = await api.GetMappingsCodeAsync(cancellationToken: cancellationToken);
// Assert // Assert
await Verify(code).DontScrubDateTimes().DontScrubGuids(); await Verify(code).DontScrubDateTimes().DontScrubGuids();
@@ -1039,7 +1051,7 @@ text
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
// Act // Act
var mappings = await api.OpenApiConvertAsync(openApiDocument); var mappings = await api.OpenApiConvertAsync(openApiDocument, TestContext.Current.CancellationToken);
// Assert // Assert
server.MappingModels.Should().BeEmpty(); server.MappingModels.Should().BeEmpty();
@@ -1058,7 +1070,7 @@ text
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
// Act // Act
var mappings = await api.OpenApiConvertAsync(openApiDocument); var mappings = await api.OpenApiConvertAsync(openApiDocument, TestContext.Current.CancellationToken);
// Assert // Assert
server.MappingModels.Should().BeEmpty(); server.MappingModels.Should().BeEmpty();
@@ -1077,7 +1089,7 @@ text
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
// Act // Act
var statusModel = await api.OpenApiSaveAsync(openApiDocument); var statusModel = await api.OpenApiSaveAsync(openApiDocument, TestContext.Current.CancellationToken);
// Assert // Assert
statusModel.Status.Should().Be("OpenApi document converted to Mappings"); statusModel.Status.Should().Be("OpenApi document converted to Mappings");
@@ -1096,7 +1108,7 @@ text
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
// Act // Act
var mappings = await api.OpenApiConvertAsync(openApiDocument); var mappings = await api.OpenApiConvertAsync(openApiDocument, TestContext.Current.CancellationToken);
// Assert // Assert
server.MappingModels.Should().BeEmpty(); server.MappingModels.Should().BeEmpty();
@@ -1113,7 +1125,7 @@ text
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
// Act // Act
var status = await api.ReloadStaticMappingsAsync(); var status = await api.ReloadStaticMappingsAsync(TestContext.Current.CancellationToken);
// Assert // Assert
status.Status.Should().Be("Static Mappings reloaded"); status.Status.Should().Be("Static Mappings reloaded");

View File

@@ -26,7 +26,7 @@ public class StatefulBehaviorTests
.RespondWith(Response.Create()); .RespondWith(Response.Create());
// when // when
var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path); var response = await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + path, TestContext.Current.CancellationToken);
// then // then
Check.That(response.StatusCode).IsEqualTo(HttpStatusCode.NotFound); Check.That(response.StatusCode).IsEqualTo(HttpStatusCode.NotFound);
@@ -38,6 +38,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_Should_process_request_if_equals_state_and_single_state_defined() public async Task Scenarios_Should_process_request_if_equals_state_and_single_state_defined()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var path = $"/foo_{Guid.NewGuid()}"; var path = $"/foo_{Guid.NewGuid()}";
using var server = WireMockServer.Start(); using var server = WireMockServer.Start();
@@ -54,8 +55,8 @@ public class StatefulBehaviorTests
.RespondWith(Response.Create().WithBody("Test state msg")); .RespondWith(Response.Create().WithBody("Test state msg"));
// Act // Act
var responseNoState = await new HttpClient().GetStringAsync(server.Url + path); var responseNoState = await new HttpClient().GetStringAsync(server.Url + path, cancellationToken);
var responseWithState = await new HttpClient().GetStringAsync(server.Url + path); var responseWithState = await new HttpClient().GetStringAsync(server.Url + path, cancellationToken);
// Assert // Assert
Check.That(responseNoState).Equals("No state msg"); Check.That(responseNoState).Equals("No state msg");
@@ -68,6 +69,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_Should_ContinueOnCorrectState_WhenStateIsUpdated(string? state, string expected1, string expected2) public async Task Scenarios_Should_ContinueOnCorrectState_WhenStateIsUpdated(string? state, string expected1, string expected2)
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var path = $"/foo_{Guid.NewGuid()}"; var path = $"/foo_{Guid.NewGuid()}";
var scenario = "s"; var scenario = "s";
using var server = WireMockServer.Start(); using var server = WireMockServer.Start();
@@ -93,13 +95,13 @@ public class StatefulBehaviorTests
// Act // Act
var client = server.CreateClient(); var client = server.CreateClient();
var response1 = await client.GetStringAsync(server.Url + path); var response1 = await client.GetStringAsync(server.Url + path, cancellationToken);
var response2 = await client.GetStringAsync(server.Url + path); var response2 = await client.GetStringAsync(server.Url + path, cancellationToken);
var response3 = await client.GetStringAsync(server.Url + path); var response3 = await client.GetStringAsync(server.Url + path, cancellationToken);
server.SetScenarioState(scenario, state); server.SetScenarioState(scenario, state);
var responseA = await client.GetStringAsync(server.Url + path); var responseA = await client.GetStringAsync(server.Url + path, cancellationToken);
var responseB = await client.GetStringAsync(server.Url + path); var responseB = await client.GetStringAsync(server.Url + path, cancellationToken);
// Assert // Assert
Check.That(response1).Equals("step 1"); Check.That(response1).Equals("step 1");
@@ -113,6 +115,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_With_Same_Path_Should_Use_Times_When_Moving_To_Next_State() public async Task Scenarios_With_Same_Path_Should_Use_Times_When_Moving_To_Next_State()
{ {
// given // given
var cancellationToken = TestContext.Current.CancellationToken;
const int times = 2; const int times = 2;
string path = $"/foo_{Guid.NewGuid()}"; string path = $"/foo_{Guid.NewGuid()}";
string body1 = "Scenario S1, No State, Setting State T2"; string body1 = "Scenario S1, No State, Setting State T2";
@@ -133,9 +136,9 @@ public class StatefulBehaviorTests
// when // when
var client = new HttpClient(); var client = new HttpClient();
var responseScenario1 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseScenario1 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
var responseScenario2 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseScenario2 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
var responseWithState = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseWithState = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
// then // then
responseScenario1.Should().Be(body1); responseScenario1.Should().Be(body1);
@@ -149,6 +152,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_With_Different_Paths_Should_Use_Times_When_Moving_To_Next_State() public async Task Scenarios_With_Different_Paths_Should_Use_Times_When_Moving_To_Next_State()
{ {
// given // given
var cancellationToken = TestContext.Current.CancellationToken;
const int times = 2; const int times = 2;
string path1 = $"/a_{Guid.NewGuid()}"; string path1 = $"/a_{Guid.NewGuid()}";
string path2 = $"/b_{Guid.NewGuid()}"; string path2 = $"/b_{Guid.NewGuid()}";
@@ -180,11 +184,11 @@ public class StatefulBehaviorTests
// when // when
var client = new HttpClient(); var client = new HttpClient();
var t1a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1); var t1a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1, cancellationToken);
var t1b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1); var t1b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path1, cancellationToken);
var t2a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2); var t2a = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2, cancellationToken);
var t2b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2); var t2b = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path2, cancellationToken);
var t3 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path3); var t3 = await client.GetStringAsync("http://localhost:" + server.Ports[0] + path3, cancellationToken);
// then // then
t1a.Should().Be(body1); t1a.Should().Be(body1);
@@ -200,6 +204,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_Should_Respect_Int_Valued_Scenarios_and_States() public async Task Scenarios_Should_Respect_Int_Valued_Scenarios_and_States()
{ {
// given // given
var cancellationToken = TestContext.Current.CancellationToken;
string path = $"/foo_{Guid.NewGuid()}"; string path = $"/foo_{Guid.NewGuid()}";
var server = WireMockServer.Start(); var server = WireMockServer.Start();
@@ -216,8 +221,8 @@ public class StatefulBehaviorTests
.RespondWith(Response.Create().WithBody("Scenario 1, State 2")); .RespondWith(Response.Create().WithBody("Scenario 1, State 2"));
// when // when
var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
// then // then
Check.That(responseIntScenario).Equals("Scenario 1, Setting State 2"); Check.That(responseIntScenario).Equals("Scenario 1, Setting State 2");
@@ -230,6 +235,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_Should_Respect_Mixed_String_Scenario_and_Int_State() public async Task Scenarios_Should_Respect_Mixed_String_Scenario_and_Int_State()
{ {
// given // given
var cancellationToken = TestContext.Current.CancellationToken;
string path = $"/foo_{Guid.NewGuid()}"; string path = $"/foo_{Guid.NewGuid()}";
var server = WireMockServer.Start(); var server = WireMockServer.Start();
@@ -246,8 +252,8 @@ public class StatefulBehaviorTests
.RespondWith(Response.Create().WithBody("string state, State 2")); .RespondWith(Response.Create().WithBody("string state, State 2"));
// when // when
var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
// then // then
Check.That(responseIntScenario).Equals("string state, Setting State 2"); Check.That(responseIntScenario).Equals("string state, Setting State 2");
@@ -260,6 +266,7 @@ public class StatefulBehaviorTests
public async Task Scenarios_Should_Respect_Mixed_Int_Scenario_and_String_Scenario_and_String_State() public async Task Scenarios_Should_Respect_Mixed_Int_Scenario_and_String_Scenario_and_String_State()
{ {
// given // given
var cancellationToken = TestContext.Current.CancellationToken;
string path = $"/foo_{Guid.NewGuid()}"; string path = $"/foo_{Guid.NewGuid()}";
var server = WireMockServer.Start(); var server = WireMockServer.Start();
@@ -276,8 +283,8 @@ public class StatefulBehaviorTests
.RespondWith(Response.Create().WithBody("string state, State 2")); .RespondWith(Response.Create().WithBody("string state, State 2"));
// when // when
var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseIntScenario = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path); var responseWithIntState = await new HttpClient().GetStringAsync("http://localhost:" + server.Ports[0] + path, cancellationToken);
// then // then
Check.That(responseIntScenario).Equals("int state, Setting State 2"); Check.That(responseIntScenario).Equals("int state, Setting State 2");

View File

@@ -244,6 +244,7 @@ public class WireMockServerAdminTests
public async Task WireMockServer_Admin_Mapping_WithoutPathOrUrl() public async Task WireMockServer_Admin_Mapping_WithoutPathOrUrl()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
using var server = WireMockServer.StartWithAdminInterface(); using var server = WireMockServer.StartWithAdminInterface();
// Act // Act
@@ -257,16 +258,16 @@ public class WireMockServerAdminTests
pathMatcher.Should().BeNull(); pathMatcher.Should().BeNull();
var api = RestClient.For<IWireMockAdminApi>(server.Url); var api = RestClient.For<IWireMockAdminApi>(server.Url);
var mappingModels = await api.GetMappingsAsync(); var mappingModels = await api.GetMappingsAsync(cancellationToken);
var mappingModel = mappingModels.First(); var mappingModel = mappingModels.First();
mappingModel.Request.Path.Should().BeNull(); mappingModel.Request.Path.Should().BeNull();
mappingModel.Request.Url.Should().BeNull(); mappingModel.Request.Url.Should().BeNull();
await api.DeleteMappingsAsync(); await api.DeleteMappingsAsync(cancellationToken);
await api.PostMappingAsync(mappingModel); await api.PostMappingAsync(mappingModel, cancellationToken);
await api.GetMappingsAsync(); await api.GetMappingsAsync(cancellationToken);
mappingModels = await api.GetMappingsAsync(); mappingModels = await api.GetMappingsAsync(cancellationToken);
mappingModel = mappingModels.First(); mappingModel = mappingModels.First();
mappingModel.Request.Path.Should().BeNull(); mappingModel.Request.Path.Should().BeNull();
mappingModel.Request.Url.Should().BeNull(); mappingModel.Request.Url.Should().BeNull();
@@ -351,7 +352,7 @@ public class WireMockServerAdminTests
Check.That(mappings).HasSize(2); Check.That(mappings).HasSize(2);
// when // when
var response = await new HttpClient().GetAsync("http://localhost:" + server.Port + "/1"); var response = await new HttpClient().GetAsync("http://localhost:" + server.Port + "/1", TestContext.Current.CancellationToken);
// then // then
Check.That((int)response.StatusCode).IsEqualTo(400); Check.That((int)response.StatusCode).IsEqualTo(400);
@@ -366,7 +367,7 @@ public class WireMockServerAdminTests
var server = WireMockServer.Start(); var server = WireMockServer.Start();
// when // when
await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + "/foo"); await new HttpClient().GetAsync("http://localhost:" + server.Ports[0] + "/foo", TestContext.Current.CancellationToken);
// then // then
Check.That(server.LogEntries).HasSize(1); Check.That(server.LogEntries).HasSize(1);
@@ -381,14 +382,15 @@ public class WireMockServerAdminTests
public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount() public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount()
{ {
// Assign // Assign
var cancellationToken = TestContext.Current.CancellationToken;
var client = new HttpClient(); var client = new HttpClient();
// Act // Act
var server = WireMockServer.Start(); var server = WireMockServer.Start();
server.SetMaxRequestLogCount(2); server.SetMaxRequestLogCount(2);
await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo1"); await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo1", cancellationToken);
await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo2"); await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo2", cancellationToken);
await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo3"); await client.GetAsync("http://localhost:" + server.Ports[0] + "/foo3", cancellationToken);
// Assert // Assert
Check.That(server.LogEntries).HasSize(2); Check.That(server.LogEntries).HasSize(2);
@@ -406,15 +408,16 @@ public class WireMockServerAdminTests
public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount_To_0_Should_Not_AddLogging() public async Task WireMockServer_Admin_Logging_SetMaxRequestLogCount_To_0_Should_Not_AddLogging()
{ {
// Assign // Assign
var cancellationToken = TestContext.Current.CancellationToken;
var client = new HttpClient(); var client = new HttpClient();
// Act // Act
var server = WireMockServer.Start(); var server = WireMockServer.Start();
server.SetMaxRequestLogCount(0); server.SetMaxRequestLogCount(0);
await client.GetAsync("http://localhost:" + server.Port + "/foo1"); await client.GetAsync("http://localhost:" + server.Port + "/foo1", cancellationToken);
await client.GetAsync("http://localhost:" + server.Port + "/foo2"); await client.GetAsync("http://localhost:" + server.Port + "/foo2", cancellationToken);
await client.GetAsync("http://localhost:" + server.Port + "/foo3"); await client.GetAsync("http://localhost:" + server.Port + "/foo3", cancellationToken);
// Assert // Assert
server.LogEntries.Should().BeEmpty(); server.LogEntries.Should().BeEmpty();
@@ -426,6 +429,7 @@ public class WireMockServerAdminTests
public async Task WireMockServer_Admin_Logging_FindLogEntries() public async Task WireMockServer_Admin_Logging_FindLogEntries()
{ {
// Assign // Assign
var cancellationToken = TestContext.Current.CancellationToken;
using var client = new HttpClient(); using var client = new HttpClient();
// Act // Act
@@ -433,9 +437,9 @@ public class WireMockServerAdminTests
var tasks = new[] var tasks = new[]
{ {
client.GetAsync($"{server.Url}/foo1"), client.GetAsync($"{server.Url}/foo1", cancellationToken),
client.PostAsync($"{server.Url}/foo2", new StringContent("test")), client.PostAsync($"{server.Url}/foo2", new StringContent("test"), cancellationToken),
client.GetAsync($"{server.Url}/foo3") client.GetAsync($"{server.Url}/foo3", cancellationToken)
}; };
await Task.WhenAll(tasks); await Task.WhenAll(tasks);
@@ -585,11 +589,12 @@ public class WireMockServerAdminTests
public async Task WireMockServer_CreateClient_And_CallEndpoint() public async Task WireMockServer_CreateClient_And_CallEndpoint()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(); var server = WireMockServer.Start();
var client = server.CreateClient(); var client = server.CreateClient();
// Act // Act
await client.GetAsync($"{server.Url}/foo"); await client.GetAsync($"{server.Url}/foo", cancellationToken);
// Assert // Assert
Check.That(server.LogEntries).HasSize(1); Check.That(server.LogEntries).HasSize(1);
@@ -606,6 +611,7 @@ public class WireMockServerAdminTests
public async Task WireMockServer_CreateClient_And_CallAdminSettingsEndpoint() public async Task WireMockServer_CreateClient_And_CallAdminSettingsEndpoint()
{ {
// Arrange // Arrange
var cancellationToken = TestContext.Current.CancellationToken;
var server = WireMockServer.Start(w => var server = WireMockServer.Start(w =>
{ {
w.StartAdminInterface = true; w.StartAdminInterface = true;
@@ -614,7 +620,7 @@ public class WireMockServerAdminTests
var client = server.CreateClient(); var client = server.CreateClient();
// Act // Act
var settings = await client.GetStringAsync($"{server.Url}/adm/settings"); var settings = await client.GetStringAsync($"{server.Url}/adm/settings", cancellationToken);
// Assert // Assert
settings.Should().NotBeNull(); settings.Should().NotBeNull();