diff --git a/Directory.Build.props b/Directory.Build.props
index 83eccf85..7dfefb1c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -52,7 +52,7 @@
-
+
diff --git a/examples-Aspire/AspireApp1.AppHost/AspireApp1.AppHost.csproj b/examples-Aspire/AspireApp1.AppHost/AspireApp1.AppHost.csproj
index a04440d9..5e425c0a 100644
--- a/examples-Aspire/AspireApp1.AppHost/AspireApp1.AppHost.csproj
+++ b/examples-Aspire/AspireApp1.AppHost/AspireApp1.AppHost.csproj
@@ -1,6 +1,6 @@
-
+
Exe
@@ -18,7 +18,7 @@
-
+
diff --git a/examples-Aspire/AspireApp1.AppHostOriginal/AspireApp1.AppHostOriginal.csproj b/examples-Aspire/AspireApp1.AppHostOriginal/AspireApp1.AppHostOriginal.csproj
index ddfe855d..0bb94bf0 100644
--- a/examples-Aspire/AspireApp1.AppHostOriginal/AspireApp1.AppHostOriginal.csproj
+++ b/examples-Aspire/AspireApp1.AppHostOriginal/AspireApp1.AppHostOriginal.csproj
@@ -1,6 +1,6 @@
-
+
Exe
@@ -15,7 +15,7 @@
-
+
diff --git a/src/WireMock.Net.Aspire/WireMock.Net.Aspire.csproj b/src/WireMock.Net.Aspire/WireMock.Net.Aspire.csproj
index 379011c0..ed353f88 100644
--- a/src/WireMock.Net.Aspire/WireMock.Net.Aspire.csproj
+++ b/src/WireMock.Net.Aspire/WireMock.Net.Aspire.csproj
@@ -45,7 +45,7 @@
-
+
diff --git a/src/WireMock.Net.Aspire/WireMockHealthCheck.cs b/src/WireMock.Net.Aspire/WireMockHealthCheck.cs
index 2b51cbee..03d784fa 100644
--- a/src/WireMock.Net.Aspire/WireMockHealthCheck.cs
+++ b/src/WireMock.Net.Aspire/WireMockHealthCheck.cs
@@ -21,11 +21,6 @@ public class WireMockHealthCheck(WireMockServerResource resource) : IHealthCheck
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();
}
@@ -41,4 +36,4 @@ public class WireMockHealthCheck(WireMockServerResource resource) : IHealthCheck
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/src/WireMock.Net.Aspire/WireMockLifecycleSubscriber.cs b/src/WireMock.Net.Aspire/WireMockLifecycleSubscriber.cs
index df6f1f48..252f56d6 100644
--- a/src/WireMock.Net.Aspire/WireMockLifecycleSubscriber.cs
+++ b/src/WireMock.Net.Aspire/WireMockLifecycleSubscriber.cs
@@ -21,7 +21,13 @@ internal class WireMockLifecycleSubscriber(ILoggerFactory loggerFactory) : IDist
var endpoint = wireMockServerResource.GetEndpoint();
Debug.Assert(endpoint.IsAllocated);
+ }
+ });
+ eventing.Subscribe(async (@event, ct) =>
+ {
+ if (@event.Resource is WireMockServerResource wireMockServerResource)
+ {
await wireMockServerResource.WaitForHealthAsync(ct);
await wireMockServerResource.CallAddProtoDefinitionsAsync(ct);
diff --git a/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs b/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs
index bb7d5ef2..b4149279 100644
--- a/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs
+++ b/src/WireMock.Net.RestClient/Extensions/WireMockAdminApiExtensions.cs
@@ -65,6 +65,7 @@ public static class WireMockAdminApiExtensions
waitTime = (int)(InitialWaitingTimeInMilliSeconds * Math.Pow(2, retries));
await Task.Delay(waitTime, cancellationToken);
isHealthy = await IsHealthyAsync(adminApi, cancellationToken);
+
retries++;
totalWaitTime += waitTime;
}
diff --git a/test/WireMock.Net.Aspire.TestAppHost/WireMock.Net.Aspire.TestAppHost.csproj b/test/WireMock.Net.Aspire.TestAppHost/WireMock.Net.Aspire.TestAppHost.csproj
index 3c3f9dae..d2e5a78f 100644
--- a/test/WireMock.Net.Aspire.TestAppHost/WireMock.Net.Aspire.TestAppHost.csproj
+++ b/test/WireMock.Net.Aspire.TestAppHost/WireMock.Net.Aspire.TestAppHost.csproj
@@ -1,6 +1,6 @@
-
+
Exe
@@ -19,7 +19,7 @@
-
+
diff --git a/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj b/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj
index f048cd86..52b2e98b 100644
--- a/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj
+++ b/test/WireMock.Net.Aspire.Tests/WireMock.Net.Aspire.Tests.csproj
@@ -14,7 +14,7 @@
-
+
all
@@ -25,7 +25,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
diff --git a/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs b/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs
index ccf2a703..12de5551 100644
--- a/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs
+++ b/test/WireMock.Net.Aspire.Tests/WireMockServerBuilderExtensionsTests.cs
@@ -92,17 +92,11 @@ public class WireMockServerBuilderExtensionsTests
Tag = "latest"
});
- var endpointAnnotation = wiremock.Resource.Annotations.OfType().FirstOrDefault();
- endpointAnnotation.Should().BeEquivalentTo(new EndpointAnnotation(
- protocol: ProtocolType.Tcp,
- uriScheme: "http",
- transport: null,
- name: null,
- port: port,
- targetPort: 80,
- isExternal: null,
- isProxied: true
- ));
+ var endpointAnnotation = wiremock.Resource.Annotations.OfType().First();
+ endpointAnnotation.Protocol.Should().Be(ProtocolType.Tcp);
+ endpointAnnotation.UriScheme.Should().Be("http");
+ endpointAnnotation.Port.Should().Be(port);
+ endpointAnnotation.TargetPort.Should().Be(80);
wiremock.Resource.Annotations.OfType().FirstOrDefault().Should().NotBeNull();
wiremock.Resource.Annotations.OfType().FirstOrDefault().Should().NotBeNull();
@@ -153,39 +147,24 @@ public class WireMockServerBuilderExtensionsTests
endpointAnnotations.Should().HaveCount(3);
var endpointAnnotationForHttp80 = endpointAnnotations[0];
- endpointAnnotationForHttp80.Should().BeEquivalentTo(new EndpointAnnotation(
- protocol: ProtocolType.Tcp,
- uriScheme: "http",
- transport: null,
- name: null,
- port: null,
- targetPort: 80,
- isExternal: null,
- isProxied: true
- ));
+ endpointAnnotationForHttp80.Protocol.Should().Be(ProtocolType.Tcp);
+ endpointAnnotationForHttp80.UriScheme.Should().Be("http");
+ endpointAnnotationForHttp80.Port.Should().BeNull();
+ endpointAnnotationForHttp80.TargetPort.Should().Be(80);
+
var endpointAnnotationForHttpFreePort = endpointAnnotations[1];
- endpointAnnotationForHttpFreePort.Should().BeEquivalentTo(new EndpointAnnotation(
- protocol: ProtocolType.Tcp,
- uriScheme: "http",
- transport: null,
- name: $"http-{freePorts[0]}",
- port: freePorts[0],
- targetPort: freePorts[0],
- isExternal: null,
- isProxied: true
- ));
+ endpointAnnotationForHttpFreePort.Protocol.Should().Be(ProtocolType.Tcp);
+ endpointAnnotationForHttpFreePort.UriScheme.Should().Be("http");
+ endpointAnnotationForHttpFreePort.Name.Should().Be($"http-{freePorts[0]}");
+ endpointAnnotationForHttpFreePort.Port.Should().Be(freePorts[0]);
+ endpointAnnotationForHttpFreePort.TargetPort.Should().Be(freePorts[0]);
var endpointAnnotationForGrpcFreePort = endpointAnnotations[2];
- endpointAnnotationForGrpcFreePort.Should().BeEquivalentTo(new EndpointAnnotation(
- protocol: ProtocolType.Tcp,
- uriScheme: "grpc",
- transport: null,
- name: $"grpc-{freePorts[1]}",
- port: freePorts[1],
- targetPort: freePorts[1],
- isExternal: null,
- isProxied: true
- ));
+ endpointAnnotationForGrpcFreePort.Protocol.Should().Be(ProtocolType.Tcp);
+ endpointAnnotationForGrpcFreePort.UriScheme.Should().Be("grpc");
+ endpointAnnotationForGrpcFreePort.Name.Should().Be($"grpc-{freePorts[1]}");
+ endpointAnnotationForGrpcFreePort.Port.Should().Be(freePorts[1]);
+ endpointAnnotationForGrpcFreePort.TargetPort.Should().Be(freePorts[1]);
wiremock.Resource.Annotations.OfType().FirstOrDefault().Should().NotBeNull();
wiremock.Resource.Annotations.OfType().FirstOrDefault().Should().NotBeNull();