diff --git a/examples/WireMock.Net.TestcontainersExample/Program.cs b/examples/WireMock.Net.TestcontainersExample/Program.cs index f9bf2498..3d543ff4 100644 --- a/examples/WireMock.Net.TestcontainersExample/Program.cs +++ b/examples/WireMock.Net.TestcontainersExample/Program.cs @@ -118,7 +118,7 @@ internal class Program } else { - builder = builder.WithMappings("./examples/WireMock.Net.Console.NET6/__admin/mappings"); + builder = builder.WithMappings("/workspaces/WireMock.Net/examples/WireMock.Net.Console.NET6/__admin/mappings"); } if (image != null) diff --git a/src/WireMock.Net.Testcontainers/WireMockConfiguration.cs b/src/WireMock.Net.Testcontainers/WireMockConfiguration.cs index 5e4a6767..8004f0f6 100644 --- a/src/WireMock.Net.Testcontainers/WireMockConfiguration.cs +++ b/src/WireMock.Net.Testcontainers/WireMockConfiguration.cs @@ -1,5 +1,6 @@ // Copyright © WireMock.Net +using System; using Docker.DotNet.Models; using DotNet.Testcontainers.Builders; using DotNet.Testcontainers.Configurations; @@ -16,6 +17,8 @@ public sealed class WireMockConfiguration : ContainerConfiguration public string? Password { get; } + public string? StaticMappingsPath { get; private set; } + public bool HasBasicAuthentication => !string.IsNullOrEmpty(Username) && !string.IsNullOrEmpty(Password); public WireMockConfiguration(string? username = null, string? password = null) @@ -61,5 +64,17 @@ public sealed class WireMockConfiguration : ContainerConfiguration { Username = BuildConfiguration.Combine(oldValue.Username, newValue.Username); Password = BuildConfiguration.Combine(oldValue.Password, newValue.Password); + StaticMappingsPath = BuildConfiguration.Combine(oldValue.StaticMappingsPath, newValue.StaticMappingsPath); + } + + /// + /// Set the StaticMappingsPath. + /// + /// The path which contains the StaticMappings. + /// + public WireMockConfiguration WithStaticMappingsPath(string path) + { + StaticMappingsPath = path; + return this; } } \ No newline at end of file diff --git a/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs b/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs index 885cf7bb..7a843478 100644 --- a/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs +++ b/src/WireMock.Net.Testcontainers/WireMockContainerBuilder.cs @@ -40,7 +40,6 @@ public sealed class WireMockContainerBuilder : ContainerBuilder /// Initializes a new instance of the class. @@ -143,9 +142,11 @@ public sealed class WireMockContainerBuilder : ContainerBuilder= 0 ? OSPlatform.Windows : OSPlatform.Linux; } - if (!string.IsNullOrEmpty(_staticMappingsPath)) + if (!string.IsNullOrEmpty(builder.DockerResourceConfiguration.StaticMappingsPath)) { - builder = builder.WithBindMount(_staticMappingsPath, _info[_imageOS.Value].MappingsPath); + builder = builder.WithBindMount(builder.DockerResourceConfiguration.StaticMappingsPath, _info[_imageOS.Value].MappingsPath); } builder.Validate();