From b06c478779d674007ff79805f1f19d59ad414d84 Mon Sep 17 00:00:00 2001 From: Stef Date: Mon, 27 Jan 2025 20:00:21 +0100 Subject: [PATCH] fix for windows --- examples/WireMock.Net.TestcontainersExample/Program.cs | 2 +- src/WireMock.Net.Testcontainers/WireMockContainer.cs | 9 ++++++++- .../Testcontainers/TestcontainersTests.cs | 9 ++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/examples/WireMock.Net.TestcontainersExample/Program.cs b/examples/WireMock.Net.TestcontainersExample/Program.cs index 38a23149..a634d93f 100644 --- a/examples/WireMock.Net.TestcontainersExample/Program.cs +++ b/examples/WireMock.Net.TestcontainersExample/Program.cs @@ -198,7 +198,7 @@ private static async Task TestAsync(string? image = null) var dummyNetwork = new NetworkBuilder() .WithName($"Dummy Network for {image ?? "null"}") .WithReuse(true) - .WithCleanUp(true) + // .WithCleanUp(true) .Build(); var builder = new WireMockContainerBuilder() diff --git a/src/WireMock.Net.Testcontainers/WireMockContainer.cs b/src/WireMock.Net.Testcontainers/WireMockContainer.cs index e3d04b3d..d03b5ed6 100644 --- a/src/WireMock.Net.Testcontainers/WireMockContainer.cs +++ b/src/WireMock.Net.Testcontainers/WireMockContainer.cs @@ -206,7 +206,14 @@ private void WireMockContainer_Started(object sender, EventArgs e) private async void FileCreatedChangedOrDeleted(object sender, FileSystemEventArgs args) { - await ReloadStaticMappingsAsync(args.FullPath); + try + { + await ReloadStaticMappingsAsync(args.FullPath); + } + catch (Exception ex) + { + Logger.LogWarning(ex, "Error reloading static mappings from '{FullPath}'.", args.FullPath); + } } private async Task ReloadStaticMappingsAsync(string path, CancellationToken cancellationToken = default) diff --git a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs index 5283f98d..c93371aa 100644 --- a/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs +++ b/test/WireMock.Net.Tests/Testcontainers/TestcontainersTests.cs @@ -8,6 +8,7 @@ using FluentAssertions; using FluentAssertions.Execution; using WireMock.Net.Testcontainers; +using WireMock.Net.Testcontainers.Utils; using WireMock.Net.Tests.Facts; using Xunit; @@ -26,7 +27,7 @@ public async Task WireMockContainer_Build_WithNoImage_TestGrpc1() .WithCleanUp(true) .WithAdminUserNameAndPassword(adminUsername, adminPassword) .WithCommand("--UseHttp2") - .WithEntrypoint("./wiremock-net", "--Urls", "http://*:80", "grpc://*:9090") + .WithCommand("--Urls", "http://*:80 grpc://*:9090") .WithPortBinding(9090, true) .Build(); @@ -164,7 +165,8 @@ public async Task WireMockContainer_Build_WithImage_And_StartAsync_and_StopAsync .WithCleanUp(true) .WithAdminUserNameAndPassword(adminUsername, adminPassword); - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + var imageOS = await TestcontainersUtils.GetImageOSAsync.Value; + if (imageOS == OSPlatform.Windows) { wireMockContainerBuilder = wireMockContainerBuilder.WithWindowsImage(); } @@ -189,7 +191,8 @@ public async Task WireMockContainer_Build_WithImageAsText_And_StartAsync_and_Sto .WithCleanUp(true) .WithAdminUserNameAndPassword(adminUsername, adminPassword); - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + var imageOS = await TestcontainersUtils.GetImageOSAsync.Value; + if (imageOS == OSPlatform.Windows) { wireMockContainerBuilder = wireMockContainerBuilder.WithImage("sheyenrath/wiremock.net-windows"); }