diff --git a/src/WireMock.Net.Testcontainers/Utils/TestcontainersUtils.cs b/src/WireMock.Net.Testcontainers/Utils/TestcontainersUtils.cs
index ae1a7fc99..6e2eb0ca9 100644
--- a/src/WireMock.Net.Testcontainers/Utils/TestcontainersUtils.cs
+++ b/src/WireMock.Net.Testcontainers/Utils/TestcontainersUtils.cs
@@ -15,7 +15,7 @@ public static class TestcontainersUtils
///
/// Get the OS platform of the Docker image.
///
- public static Lazy> GetImageOSAsync = new(async () =>
+ public static Lazy> GetDockerImageOSAsync = new(async () =>
{
if (TestcontainersSettings.OS.DockerEndpointAuthConfig == null)
{
diff --git a/src/WireMock.Net.Testcontainers/WireMockContainer.cs b/src/WireMock.Net.Testcontainers/WireMockContainer.cs
index 141f03a46..1f41971f8 100644
--- a/src/WireMock.Net.Testcontainers/WireMockContainer.cs
+++ b/src/WireMock.Net.Testcontainers/WireMockContainer.cs
@@ -164,7 +164,7 @@ protected override ValueTask DisposeAsyncCore()
private static async Task PathStartsWithContainerMappingsPath(string value)
{
- var imageOs = await TestcontainersUtils.GetImageOSAsync.Value;
+ var imageOs = await TestcontainersUtils.GetDockerImageOSAsync.Value;
return value.StartsWith(ContainerInfoProvider.Info[imageOs].MappingsPath);
}
diff --git a/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs b/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs
index 9ec17b054..4e68acd6c 100644
--- a/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs
+++ b/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs
@@ -36,7 +36,7 @@ public WireMockContainerBuilder() : this(new WireMockConfiguration())
[PublicAPI]
public WireMockContainerBuilder WithImage()
{
- _imageOS ??= TestcontainersUtils.GetImageOSAsync.Value.GetAwaiter().GetResult();
+ _imageOS ??= TestcontainersUtils.GetDockerImageOSAsync.Value.GetAwaiter().GetResult();
return WithImage(_imageOS.Value);
}
diff --git a/test/WireMock.Net.Tests/Facts/RunOnDockerPlatformFact.cs b/test/WireMock.Net.Tests/Facts/RunOnDockerPlatformFact.cs
index 9d479a0f7..ea8ca237e 100644
--- a/test/WireMock.Net.Tests/Facts/RunOnDockerPlatformFact.cs
+++ b/test/WireMock.Net.Tests/Facts/RunOnDockerPlatformFact.cs
@@ -10,7 +10,7 @@ public sealed class RunOnDockerPlatformFact : FactAttribute
{
public RunOnDockerPlatformFact(string platform)
{
- if (TestcontainersUtils.GetImageOSAsync.Value.Result != OSPlatform.Create(platform))
+ if (TestcontainersUtils.GetDockerImageOSAsync.Value.Result != OSPlatform.Create(platform))
{
Skip = $"Only run test when Docker OS Platform {platform} is used.";
}
diff --git a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs
index 1b0f1bc10..f241020ee 100644
--- a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs
+++ b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs
@@ -8,7 +8,7 @@
using FluentAssertions;
using FluentAssertions.Execution;
using WireMock.Net.Testcontainers;
-using WireMock.Net.Tests.Facts;
+using WireMock.Net.Testcontainers.Utils;
using Xunit;
namespace WireMock.Net.Tests.Testcontainers;
@@ -30,15 +30,22 @@ public async Task WireMockContainer_Build_WithNoImage_And_StartAsync_and_StopAsy
await StartTestAndStopAsync(wireMockContainer);
}
- // https://github.com/testcontainers/testcontainers-dotnet/issues/1322
- [RunOnDockerPlatformFact("Linux")]
+
+ [Fact]
public async Task WireMockContainer_Build_WithNoImageAndNetwork_And_StartAsync_and_StopAsync()
{
// Act
- var dummyNetwork = new NetworkBuilder()
+ var dummyNetworkBuilder = new NetworkBuilder()
.WithName("Dummy Network for TestcontainersTests")
- .WithCleanUp(true)
- .Build();
+ .WithCleanUp(true);
+
+ if (await IsDockerImageOSWindows())
+ {
+ // https://github.com/testcontainers/testcontainers-dotnet/issues/1322
+ dummyNetworkBuilder = dummyNetworkBuilder.WithCreateParameterModifier(m => m.Driver = "nat");
+ }
+
+ var dummyNetwork = dummyNetworkBuilder.Build();
var wireMockContainer = new WireMockContainerBuilder()
.WithNetwork(dummyNetwork)
@@ -61,7 +68,7 @@ public async Task WireMockContainer_Build_WithImage_And_StartAsync_and_StopAsync
.WithCleanUp(true)
.WithAdminUserNameAndPassword(adminUsername, adminPassword);
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ if (await IsDockerImageOSWindows())
{
wireMockContainerBuilder = wireMockContainerBuilder.WithWindowsImage();
}
@@ -86,7 +93,7 @@ public async Task WireMockContainer_Build_WithImageAsText_And_StartAsync_and_Sto
.WithCleanUp(true)
.WithAdminUserNameAndPassword(adminUsername, adminPassword);
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ if (await IsDockerImageOSWindows())
{
wireMockContainerBuilder = wireMockContainerBuilder.WithImage("sheyenrath/wiremock.net-windows");
}
@@ -123,5 +130,10 @@ private static async Task StartTestAndStopAsync(WireMockContainer wireMockContai
await wireMockContainer.StopAsync();
}
}
+
+ private static async Task IsDockerImageOSWindows()
+ {
+ return (await TestcontainersUtils.GetDockerImageOSAsync.Value) == OSPlatform.Windows;
+ }
}
#endif
\ No newline at end of file