mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-01-11 22:30:41 +01:00
Fix StaticMappingsPath in WireMockContainerBuilder (#1187)
* Fix StaticMappingsPath in WireMockContainerBuilder * .
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set the StaticMappingsPath.
|
||||
/// </summary>
|
||||
/// <param name="path">The path which contains the StaticMappings.</param>
|
||||
/// <returns><see cref="WireMockConfiguration"/> </returns>
|
||||
public WireMockConfiguration WithStaticMappingsPath(string path)
|
||||
{
|
||||
StaticMappingsPath = path;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -40,7 +40,6 @@ public sealed class WireMockContainerBuilder : ContainerBuilder<WireMockContaine
|
||||
});
|
||||
|
||||
private OSPlatform? _imageOS;
|
||||
private string? _staticMappingsPath;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ContainerBuilder" /> class.
|
||||
@@ -143,9 +142,11 @@ public sealed class WireMockContainerBuilder : ContainerBuilder<WireMockContaine
|
||||
[PublicAPI]
|
||||
public WireMockContainerBuilder WithMappings(string path, bool includeSubDirectories = false)
|
||||
{
|
||||
_staticMappingsPath = Guard.NotNullOrEmpty(path);
|
||||
Guard.NotNullOrEmpty(path);
|
||||
|
||||
return WithReadStaticMappings().WithCommand($"--WatchStaticMappingsInSubdirectories {includeSubDirectories}");
|
||||
return Merge(DockerResourceConfiguration, DockerResourceConfiguration.WithStaticMappingsPath(path))
|
||||
.WithReadStaticMappings()
|
||||
.WithCommand($"--WatchStaticMappingsInSubdirectories {includeSubDirectories}");
|
||||
}
|
||||
|
||||
private WireMockContainerBuilder(WireMockConfiguration dockerResourceConfiguration) : base(dockerResourceConfiguration)
|
||||
@@ -178,9 +179,9 @@ public sealed class WireMockContainerBuilder : ContainerBuilder<WireMockContaine
|
||||
_imageOS = builder.DockerResourceConfiguration.Image.FullName.IndexOf("windows", StringComparison.OrdinalIgnoreCase) >= 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();
|
||||
|
||||
Reference in New Issue
Block a user