mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-23 08:48:28 +02:00
Fix TestcontainersTests to ignore exception when stopping (#1314)
This commit is contained in:
@@ -69,7 +69,7 @@ public partial class TestcontainersTests
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
await wireMockContainer.StopAsync();
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,7 +121,7 @@ public partial class TestcontainersTests
|
|||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
await wireMockContainer.StopAsync();
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ public partial class TestcontainersTests
|
|||||||
|
|
||||||
Then_ReplyMessage_Should_BeCorrect(reply);
|
Then_ReplyMessage_Should_BeCorrect(reply);
|
||||||
|
|
||||||
await wireMockContainer.StopAsync();
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -150,7 +150,7 @@ public partial class TestcontainersTests
|
|||||||
|
|
||||||
Then_ReplyMessage_Should_BeCorrect(reply);
|
Then_ReplyMessage_Should_BeCorrect(reply);
|
||||||
|
|
||||||
await wireMockContainer.StopAsync();
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task<WireMockContainer> Given_WireMockContainerIsStartedForHttpAndGrpcAsync()
|
private static async Task<WireMockContainer> Given_WireMockContainerIsStartedForHttpAndGrpcAsync()
|
||||||
|
|||||||
@@ -11,10 +11,11 @@ using WireMock.Net.Testcontainers;
|
|||||||
using WireMock.Net.Testcontainers.Utils;
|
using WireMock.Net.Testcontainers.Utils;
|
||||||
using WireMock.Net.Tests.Facts;
|
using WireMock.Net.Tests.Facts;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
using Xunit.Abstractions;
|
||||||
|
|
||||||
namespace WireMock.Net.Tests.Testcontainers;
|
namespace WireMock.Net.Tests.Testcontainers;
|
||||||
|
|
||||||
public partial class TestcontainersTests
|
public partial class TestcontainersTests(ITestOutputHelper testOutputHelper)
|
||||||
{
|
{
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task WireMockContainer_Build_And_StartAsync_and_StopAsync()
|
public async Task WireMockContainer_Build_And_StartAsync_and_StopAsync()
|
||||||
@@ -28,7 +29,8 @@ public partial class TestcontainersTests
|
|||||||
.WithAdminUserNameAndPassword(adminUsername, adminPassword)
|
.WithAdminUserNameAndPassword(adminUsername, adminPassword)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
await StartTestAndStopAsync(wireMockContainer);
|
await StartTestAsync(wireMockContainer);
|
||||||
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/testcontainers/testcontainers-dotnet/issues/1322
|
// https://github.com/testcontainers/testcontainers-dotnet/issues/1322
|
||||||
@@ -48,7 +50,8 @@ public partial class TestcontainersTests
|
|||||||
.WithCleanUp(true)
|
.WithCleanUp(true)
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
await StartTestAndStopAsync(wireMockContainer);
|
await StartTestAsync(wireMockContainer);
|
||||||
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -74,7 +77,8 @@ public partial class TestcontainersTests
|
|||||||
|
|
||||||
var wireMockContainer = wireMockContainerBuilder.Build();
|
var wireMockContainer = wireMockContainerBuilder.Build();
|
||||||
|
|
||||||
await StartTestAndStopAsync(wireMockContainer);
|
await StartTestAsync(wireMockContainer);
|
||||||
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -100,32 +104,35 @@ public partial class TestcontainersTests
|
|||||||
|
|
||||||
var wireMockContainer = wireMockContainerBuilder.Build();
|
var wireMockContainer = wireMockContainerBuilder.Build();
|
||||||
|
|
||||||
await StartTestAndStopAsync(wireMockContainer);
|
await StartTestAsync(wireMockContainer);
|
||||||
|
await StopAsync(wireMockContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task StartTestAndStopAsync(WireMockContainer wireMockContainer)
|
private static async Task StartTestAsync(WireMockContainer wireMockContainer)
|
||||||
|
{
|
||||||
|
// Start
|
||||||
|
await wireMockContainer.StartAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
using (new AssertionScope())
|
||||||
|
{
|
||||||
|
var url = wireMockContainer.GetPublicUrl();
|
||||||
|
url.Should().NotBeNullOrWhiteSpace();
|
||||||
|
|
||||||
|
var adminClient = wireMockContainer.CreateWireMockAdminClient();
|
||||||
|
|
||||||
|
var settings = await adminClient.GetSettingsAsync();
|
||||||
|
settings.Should().NotBeNull();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task StopAsync(WireMockContainer wireMockContainer)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// Start
|
|
||||||
await wireMockContainer.StartAsync().ConfigureAwait(false);
|
|
||||||
|
|
||||||
// Assert
|
|
||||||
using (new AssertionScope())
|
|
||||||
{
|
|
||||||
var url = wireMockContainer.GetPublicUrl();
|
|
||||||
url.Should().NotBeNullOrWhiteSpace();
|
|
||||||
|
|
||||||
var adminClient = wireMockContainer.CreateWireMockAdminClient();
|
|
||||||
|
|
||||||
var settings = await adminClient.GetSettingsAsync();
|
|
||||||
settings.Should().NotBeNull();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Stop
|
|
||||||
await wireMockContainer.StopAsync();
|
await wireMockContainer.StopAsync();
|
||||||
}
|
}
|
||||||
catch
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
// Sometimes we get this exception, so for now ignore it.
|
// Sometimes we get this exception, so for now ignore it.
|
||||||
/*
|
/*
|
||||||
@@ -136,6 +143,8 @@ public partial class TestcontainersTests
|
|||||||
at DotNet.Testcontainers.Containers.DockerContainer.UnsafeStopAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 567
|
at DotNet.Testcontainers.Containers.DockerContainer.UnsafeStopAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 567
|
||||||
at DotNet.Testcontainers.Containers.DockerContainer.StopAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 319
|
at DotNet.Testcontainers.Containers.DockerContainer.StopAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 319
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
testOutputHelper.WriteLine($"Exception during StopAsync: {ex}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user