From 9facb14e4d8fa4d993dd7b93691029e34fe9b4f2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Apr 2026 19:41:00 +0000 Subject: [PATCH 1/2] Bump Testcontainers from 4.4.0 to 4.11.0 --- updated-dependencies: - dependency-name: Testcontainers dependency-version: 4.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .../FrigateRelay.IntegrationTests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/FrigateRelay.IntegrationTests/FrigateRelay.IntegrationTests.csproj b/tests/FrigateRelay.IntegrationTests/FrigateRelay.IntegrationTests.csproj index 6be9e1b..67ac6a4 100644 --- a/tests/FrigateRelay.IntegrationTests/FrigateRelay.IntegrationTests.csproj +++ b/tests/FrigateRelay.IntegrationTests/FrigateRelay.IntegrationTests.csproj @@ -16,7 +16,7 @@ all runtime; build; native; contentfiles; analyzers - + From ed209541de7e66407d86254f89655cbb07ca70f1 Mon Sep 17 00:00:00 2001 From: Brian Lehnen Date: Wed, 29 Apr 2026 14:47:41 -0500 Subject: [PATCH 2/2] test(MosquittoFixture): adapt to Testcontainers 4.11 API breaks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two breaking changes in the 4.4.0 → 4.11.0 jump that the dependabot bump exposed (warnings-as-errors made them hard fails): 1. ContainerBuilder() parameterless ctor is obsolete (CS0618) — must pass the image at construction now. Drops the .WithImage(...) chain. 2. IWaitForContainerOS.UntilPortIsAvailable was removed in favor of UntilExternalTcpPortIsAvailable (added in 4.7.0). Same-shape API, slightly tighter semantics: it polls the host-mapped port from outside the container, which is closer to what we actually care about (broker reachable from the test process). All 7 integration tests pass against the new version. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Fixtures/MosquittoFixture.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/FrigateRelay.IntegrationTests/Fixtures/MosquittoFixture.cs b/tests/FrigateRelay.IntegrationTests/Fixtures/MosquittoFixture.cs index c2f38d5..5941a8d 100644 --- a/tests/FrigateRelay.IntegrationTests/Fixtures/MosquittoFixture.cs +++ b/tests/FrigateRelay.IntegrationTests/Fixtures/MosquittoFixture.cs @@ -11,11 +11,14 @@ internal sealed class MosquittoFixture : IAsyncDisposable public MosquittoFixture() { var conf = "listener 1883\nallow_anonymous true\n"; - _container = new ContainerBuilder() - .WithImage("eclipse-mosquitto:2") + // Testcontainers 4.10+ requires an explicit image at builder construction + // (parameterless ctor + chained .WithImage(...) is obsolete and slated for removal). + // The wait strategy renamed UntilPortIsAvailable → UntilExternalTcpPortIsAvailable + // in 4.7.0 and the old name was removed in a later patch; semantics still apply. + _container = new ContainerBuilder("eclipse-mosquitto:2") .WithPortBinding(1883, true) .WithResourceMapping(Encoding.UTF8.GetBytes(conf), "/mosquitto/config/mosquitto.conf") - .WithWaitStrategy(Wait.ForUnixContainer().UntilPortIsAvailable(1883)) + .WithWaitStrategy(Wait.ForUnixContainer().UntilExternalTcpPortIsAvailable(1883)) .Build(); }