mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-06-04 04:50:43 +02:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 428657a97e | |||
| fe9745235a |
@@ -1,3 +1,16 @@
|
|||||||
|
# 2.9.0 (02 June 2026)
|
||||||
|
- [#1470](https://github.com/wiremock/WireMock.Net/pull/1470) - Fix WireMock.Net.Aspire project when using Aspire 13.4.0 [bug] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#1469](https://github.com/wiremock/WireMock.Net/issues/1469) - WireMock.Net doesn't play well with Aspire 13.4.0 [bug]
|
||||||
|
|
||||||
|
# 2.8.0 (31 May 2026)
|
||||||
|
- [#1447](https://github.com/wiremock/WireMock.Net/pull/1447) - Add SystemTextJsonMatchers [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#1466](https://github.com/wiremock/WireMock.Net/pull/1466) - Bump System.Text.RegularExpressions from 4.3.0 to 4.3.1 in Aspire Example project [dependencies, .NET] contributed by [dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- [#1467](https://github.com/wiremock/WireMock.Net/pull/1467) - Bump System.Net.Http from 4.3.0 to 4.3.4 in Aspire Example project [dependencies, .NET] contributed by [dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
|
- [#1468](https://github.com/wiremock/WireMock.Net/pull/1468) - Update JsonMatcher to support IgnoreArrayOrder [feature] contributed by [StefH](https://github.com/StefH)
|
||||||
|
- [#1439](https://github.com/wiremock/WireMock.Net/issues/1439) - JSON reference properties cannot be used when using System.Text.Json serialization [bug]
|
||||||
|
- [#1445](https://github.com/wiremock/WireMock.Net/issues/1445) - Configurable JSON DE-serialization support (Newtonsoft.Json vs System.Text.Json) [feature]
|
||||||
|
- [#1460](https://github.com/wiremock/WireMock.Net/issues/1460) - Option to ignore array order when comparing json body [feature]
|
||||||
|
|
||||||
# 2.7.0 (24 May 2026)
|
# 2.7.0 (24 May 2026)
|
||||||
- [#1457](https://github.com/wiremock/WireMock.Net/pull/1457) - Update OpenTelemetry.Api from 1.14.0 to 1.15.3 in unit test project [dependencies] contributed by [dependabot[bot]](https://github.com/apps/dependabot)
|
- [#1457](https://github.com/wiremock/WireMock.Net/pull/1457) - Update OpenTelemetry.Api from 1.14.0 to 1.15.3 in unit test project [dependencies] contributed by [dependabot[bot]](https://github.com/apps/dependabot)
|
||||||
- [#1459](https://github.com/wiremock/WireMock.Net/pull/1459) - chore: update Handlebars 2.5.2 to 2.5.5 [dependencies] contributed by [kamisoft-fr](https://github.com/kamisoft-fr)
|
- [#1459](https://github.com/wiremock/WireMock.Net/pull/1459) - chore: update Handlebars 2.5.2 to 2.5.5 [dependencies] contributed by [kamisoft-fr](https://github.com/kamisoft-fr)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<VersionPrefix>2.8.0</VersionPrefix>
|
<VersionPrefix>2.9.0</VersionPrefix>
|
||||||
<PackageIcon>WireMock.Net-Logo.png</PackageIcon>
|
<PackageIcon>WireMock.Net-Logo.png</PackageIcon>
|
||||||
<PackageProjectUrl>https://github.com/wiremock/WireMock.Net</PackageProjectUrl>
|
<PackageProjectUrl>https://github.com/wiremock/WireMock.Net</PackageProjectUrl>
|
||||||
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="JetBrains.Annotations" Version="2025.2.4" PrivateAssets="All" />
|
<PackageReference Include="JetBrains.Annotations" Version="2025.2.4" PrivateAssets="All" />
|
||||||
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.103" PrivateAssets="All" />
|
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.300" PrivateAssets="All" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
|
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
rem https://github.com/StefH/GitHubReleaseNotes
|
rem https://github.com/StefH/GitHubReleaseNotes
|
||||||
|
|
||||||
SET version=2.8.0
|
SET version=2.9.0
|
||||||
|
|
||||||
GitHubReleaseNotes --output CHANGELOG.md --skip-empty-releases --exclude-labels wontfix test question invalid doc duplicate example environment --version %version% --token %GH_TOKEN%
|
GitHubReleaseNotes --output CHANGELOG.md --skip-empty-releases --exclude-labels wontfix test question invalid doc duplicate example environment --version %version% --token %GH_TOKEN%
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
# 2.7.0 (24 May 2026)
|
# 2.9.0 (02 June 2026)
|
||||||
- #1457 Update OpenTelemetry.Api from 1.14.0 to 1.15.3 in unit test project [dependencies]
|
- #1470 Fix WireMock.Net.Aspire project when using Aspire 13.4.0 [bug]
|
||||||
- #1459 chore: update Handlebars 2.5.2 to 2.5.5 [dependencies]
|
- #1469 WireMock.Net doesn't play well with Aspire 13.4.0 [bug]
|
||||||
- #1461 Update Testcontainers nuget package to 4.12.0 [dependencies]
|
|
||||||
- #1462 Update Scriban.Signed to latest [dependencies]
|
|
||||||
- #1458 update Handlebars Humanizer package version [feature]
|
|
||||||
|
|
||||||
The full release notes can be found here: https://github.com/wiremock/WireMock.Net/blob/master/CHANGELOG.md
|
The full release notes can be found here: https://github.com/wiremock/WireMock.Net/blob/master/CHANGELOG.md
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<Sdk Name="Aspire.AppHost.Sdk" Version="13.1.0" />
|
<Sdk Name="Aspire.AppHost.Sdk" Version="13.4.0" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.1.0" />
|
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<Sdk Name="Aspire.AppHost.Sdk" Version="13.1.0" />
|
<Sdk Name="Aspire.AppHost.Sdk" Version="13.4.0" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.1.0" />
|
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting" Version="13.1.0" />
|
<PackageReference Include="Aspire.Hosting" Version="13.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -21,11 +21,6 @@ public class WireMockHealthCheck(WireMockServerResource resource) : IHealthCheck
|
|||||||
return HealthCheckResult.Unhealthy("WireMock.Net is not healthy");
|
return HealthCheckResult.Unhealthy("WireMock.Net is not healthy");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resource.ApiMappingState == WireMockMappingState.NotSubmitted)
|
|
||||||
{
|
|
||||||
return HealthCheckResult.Unhealthy("WireMock.Net has not received mappings");
|
|
||||||
}
|
|
||||||
|
|
||||||
return HealthCheckResult.Healthy();
|
return HealthCheckResult.Healthy();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,4 +36,4 @@ public class WireMockHealthCheck(WireMockServerResource resource) : IHealthCheck
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -21,7 +21,13 @@ internal class WireMockLifecycleSubscriber(ILoggerFactory loggerFactory) : IDist
|
|||||||
|
|
||||||
var endpoint = wireMockServerResource.GetEndpoint();
|
var endpoint = wireMockServerResource.GetEndpoint();
|
||||||
Debug.Assert(endpoint.IsAllocated);
|
Debug.Assert(endpoint.IsAllocated);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
eventing.Subscribe<ResourceReadyEvent>(async (@event, ct) =>
|
||||||
|
{
|
||||||
|
if (@event.Resource is WireMockServerResource wireMockServerResource)
|
||||||
|
{
|
||||||
await wireMockServerResource.WaitForHealthAsync(ct);
|
await wireMockServerResource.WaitForHealthAsync(ct);
|
||||||
|
|
||||||
await wireMockServerResource.CallAddProtoDefinitionsAsync(ct);
|
await wireMockServerResource.CallAddProtoDefinitionsAsync(ct);
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ public static class WireMockAdminApiExtensions
|
|||||||
waitTime = (int)(InitialWaitingTimeInMilliSeconds * Math.Pow(2, retries));
|
waitTime = (int)(InitialWaitingTimeInMilliSeconds * Math.Pow(2, retries));
|
||||||
await Task.Delay(waitTime, cancellationToken);
|
await Task.Delay(waitTime, cancellationToken);
|
||||||
isHealthy = await IsHealthyAsync(adminApi, cancellationToken);
|
isHealthy = await IsHealthyAsync(adminApi, cancellationToken);
|
||||||
|
|
||||||
retries++;
|
retries++;
|
||||||
totalWaitTime += waitTime;
|
totalWaitTime += waitTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<Sdk Name="Aspire.AppHost.Sdk" Version="13.1.0" />
|
<Sdk Name="Aspire.AppHost.Sdk" Version="13.4.0" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.1.1" />
|
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Aspire.Hosting.Testing" Version="13.1.1" />
|
<PackageReference Include="Aspire.Hosting.Testing" Version="13.4.0" />
|
||||||
<PackageReference Include="Codecov" Version="1.13.0" />
|
<PackageReference Include="Codecov" Version="1.13.0" />
|
||||||
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
|
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="AwesomeAssertions" Version="9.4.0" />
|
<PackageReference Include="AwesomeAssertions" Version="9.4.0" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.3.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.6.0" />
|
||||||
<PackageReference Include="Moq" Version="4.20.72" />
|
<PackageReference Include="Moq" Version="4.20.72" />
|
||||||
<PackageReference Include="xunit.v3" Version="3.2.2" />
|
<PackageReference Include="xunit.v3" Version="3.2.2" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
|
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
|
||||||
|
|||||||
@@ -92,17 +92,11 @@ public class WireMockServerBuilderExtensionsTests
|
|||||||
Tag = "latest"
|
Tag = "latest"
|
||||||
});
|
});
|
||||||
|
|
||||||
var endpointAnnotation = wiremock.Resource.Annotations.OfType<EndpointAnnotation>().FirstOrDefault();
|
var endpointAnnotation = wiremock.Resource.Annotations.OfType<EndpointAnnotation>().First();
|
||||||
endpointAnnotation.Should().BeEquivalentTo(new EndpointAnnotation(
|
endpointAnnotation.Protocol.Should().Be(ProtocolType.Tcp);
|
||||||
protocol: ProtocolType.Tcp,
|
endpointAnnotation.UriScheme.Should().Be("http");
|
||||||
uriScheme: "http",
|
endpointAnnotation.Port.Should().Be(port);
|
||||||
transport: null,
|
endpointAnnotation.TargetPort.Should().Be(80);
|
||||||
name: null,
|
|
||||||
port: port,
|
|
||||||
targetPort: 80,
|
|
||||||
isExternal: null,
|
|
||||||
isProxied: true
|
|
||||||
));
|
|
||||||
|
|
||||||
wiremock.Resource.Annotations.OfType<EnvironmentCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
wiremock.Resource.Annotations.OfType<EnvironmentCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
||||||
wiremock.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
wiremock.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
||||||
@@ -153,39 +147,24 @@ public class WireMockServerBuilderExtensionsTests
|
|||||||
endpointAnnotations.Should().HaveCount(3);
|
endpointAnnotations.Should().HaveCount(3);
|
||||||
|
|
||||||
var endpointAnnotationForHttp80 = endpointAnnotations[0];
|
var endpointAnnotationForHttp80 = endpointAnnotations[0];
|
||||||
endpointAnnotationForHttp80.Should().BeEquivalentTo(new EndpointAnnotation(
|
endpointAnnotationForHttp80.Protocol.Should().Be(ProtocolType.Tcp);
|
||||||
protocol: ProtocolType.Tcp,
|
endpointAnnotationForHttp80.UriScheme.Should().Be("http");
|
||||||
uriScheme: "http",
|
endpointAnnotationForHttp80.Port.Should().BeNull();
|
||||||
transport: null,
|
endpointAnnotationForHttp80.TargetPort.Should().Be(80);
|
||||||
name: null,
|
|
||||||
port: null,
|
|
||||||
targetPort: 80,
|
|
||||||
isExternal: null,
|
|
||||||
isProxied: true
|
|
||||||
));
|
|
||||||
var endpointAnnotationForHttpFreePort = endpointAnnotations[1];
|
var endpointAnnotationForHttpFreePort = endpointAnnotations[1];
|
||||||
endpointAnnotationForHttpFreePort.Should().BeEquivalentTo(new EndpointAnnotation(
|
endpointAnnotationForHttpFreePort.Protocol.Should().Be(ProtocolType.Tcp);
|
||||||
protocol: ProtocolType.Tcp,
|
endpointAnnotationForHttpFreePort.UriScheme.Should().Be("http");
|
||||||
uriScheme: "http",
|
endpointAnnotationForHttpFreePort.Name.Should().Be($"http-{freePorts[0]}");
|
||||||
transport: null,
|
endpointAnnotationForHttpFreePort.Port.Should().Be(freePorts[0]);
|
||||||
name: $"http-{freePorts[0]}",
|
endpointAnnotationForHttpFreePort.TargetPort.Should().Be(freePorts[0]);
|
||||||
port: freePorts[0],
|
|
||||||
targetPort: freePorts[0],
|
|
||||||
isExternal: null,
|
|
||||||
isProxied: true
|
|
||||||
));
|
|
||||||
|
|
||||||
var endpointAnnotationForGrpcFreePort = endpointAnnotations[2];
|
var endpointAnnotationForGrpcFreePort = endpointAnnotations[2];
|
||||||
endpointAnnotationForGrpcFreePort.Should().BeEquivalentTo(new EndpointAnnotation(
|
endpointAnnotationForGrpcFreePort.Protocol.Should().Be(ProtocolType.Tcp);
|
||||||
protocol: ProtocolType.Tcp,
|
endpointAnnotationForGrpcFreePort.UriScheme.Should().Be("grpc");
|
||||||
uriScheme: "grpc",
|
endpointAnnotationForGrpcFreePort.Name.Should().Be($"grpc-{freePorts[1]}");
|
||||||
transport: null,
|
endpointAnnotationForGrpcFreePort.Port.Should().Be(freePorts[1]);
|
||||||
name: $"grpc-{freePorts[1]}",
|
endpointAnnotationForGrpcFreePort.TargetPort.Should().Be(freePorts[1]);
|
||||||
port: freePorts[1],
|
|
||||||
targetPort: freePorts[1],
|
|
||||||
isExternal: null,
|
|
||||||
isProxied: true
|
|
||||||
));
|
|
||||||
|
|
||||||
wiremock.Resource.Annotations.OfType<EnvironmentCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
wiremock.Resource.Annotations.OfType<EnvironmentCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
||||||
wiremock.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
wiremock.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().FirstOrDefault().Should().NotBeNull();
|
||||||
|
|||||||
Reference in New Issue
Block a user