From 8ce00fd15cef6d62133fd8006601f55182d358ce Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Tue, 16 Sep 2025 18:22:13 +0200 Subject: [PATCH 1/2] fix: flacky e2e tests Signed-off-by: Simon Schrottner --- .../java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java b/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java index d9dde3c2b..8f5ab66fc 100644 --- a/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java +++ b/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java @@ -114,14 +114,20 @@ private void setupMockProvider(ErrorCode errorCode, String errorMessage, Provide case FATAL: case ERROR: mockProvider.emitProviderReady(details); + waitForProviderState(ProviderState.READY, client); mockProvider.emitProviderError(details); break; case STALE: mockProvider.emitProviderReady(details); + waitForProviderState(ProviderState.READY, client); mockProvider.emitProviderStale(details); break; default: } + waitForProviderState(providerState, client); + } + + private static void waitForProviderState(ProviderState providerState, Client client) { Awaitility.await().until(() -> { ProviderState providerState1 = client.getProviderState(); return providerState1 == providerState; From 58238cd9653d0a605869ce71a38ab3f93499a10c Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Tue, 16 Sep 2025 18:26:55 +0200 Subject: [PATCH 2/2] fixup: gemini suggestion Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Simon Schrottner --- src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java b/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java index 8f5ab66fc..1e44c0160 100644 --- a/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java +++ b/src/test/java/dev/openfeature/sdk/e2e/steps/ProviderSteps.java @@ -112,6 +112,8 @@ private void setupMockProvider(ErrorCode errorCode, String errorMessage, Provide ProviderEventDetails.builder().errorCode(errorCode).build(); switch (providerState) { case FATAL: + // The FATAL state is set via an exception during initialization. No further events are needed. + break; case ERROR: mockProvider.emitProviderReady(details); waitForProviderState(ProviderState.READY, client);