mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-11 21:10:32 +01:00
Fix TestcontainersTests to ignore exception when stopping (#1314)
This commit is contained in:
@@ -69,7 +69,7 @@ public partial class TestcontainersTests
|
||||
}
|
||||
finally
|
||||
{
|
||||
await wireMockContainer.StopAsync();
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ public partial class TestcontainersTests
|
||||
}
|
||||
finally
|
||||
{
|
||||
await wireMockContainer.StopAsync();
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -136,7 +136,7 @@ public partial class TestcontainersTests
|
||||
|
||||
Then_ReplyMessage_Should_BeCorrect(reply);
|
||||
|
||||
await wireMockContainer.StopAsync();
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -150,7 +150,7 @@ public partial class TestcontainersTests
|
||||
|
||||
Then_ReplyMessage_Should_BeCorrect(reply);
|
||||
|
||||
await wireMockContainer.StopAsync();
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
private static async Task<WireMockContainer> Given_WireMockContainerIsStartedForHttpAndGrpcAsync()
|
||||
|
||||
@@ -11,10 +11,11 @@ using WireMock.Net.Testcontainers;
|
||||
using WireMock.Net.Testcontainers.Utils;
|
||||
using WireMock.Net.Tests.Facts;
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace WireMock.Net.Tests.Testcontainers;
|
||||
|
||||
public partial class TestcontainersTests
|
||||
public partial class TestcontainersTests(ITestOutputHelper testOutputHelper)
|
||||
{
|
||||
[Fact]
|
||||
public async Task WireMockContainer_Build_And_StartAsync_and_StopAsync()
|
||||
@@ -28,7 +29,8 @@ public partial class TestcontainersTests
|
||||
.WithAdminUserNameAndPassword(adminUsername, adminPassword)
|
||||
.Build();
|
||||
|
||||
await StartTestAndStopAsync(wireMockContainer);
|
||||
await StartTestAsync(wireMockContainer);
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
// https://github.com/testcontainers/testcontainers-dotnet/issues/1322
|
||||
@@ -48,7 +50,8 @@ public partial class TestcontainersTests
|
||||
.WithCleanUp(true)
|
||||
.Build();
|
||||
|
||||
await StartTestAndStopAsync(wireMockContainer);
|
||||
await StartTestAsync(wireMockContainer);
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -74,7 +77,8 @@ public partial class TestcontainersTests
|
||||
|
||||
var wireMockContainer = wireMockContainerBuilder.Build();
|
||||
|
||||
await StartTestAndStopAsync(wireMockContainer);
|
||||
await StartTestAsync(wireMockContainer);
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -100,32 +104,35 @@ public partial class TestcontainersTests
|
||||
|
||||
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
|
||||
{
|
||||
// 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();
|
||||
}
|
||||
catch
|
||||
catch (Exception ex)
|
||||
{
|
||||
// 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.StopAsync(CancellationToken ct) in /_/src/Testcontainers/Containers/DockerContainer.cs:line 319
|
||||
*/
|
||||
|
||||
testOutputHelper.WriteLine($"Exception during StopAsync: {ex}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user