diff --git a/.gitmodules b/.gitmodules index 80d831a02..2b4152ccf 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,4 +17,4 @@ [submodule "tools/flagd-api-testkit/test-harness"] path = tools/flagd-api-testkit/test-harness url = https://github.com/open-feature/test-harness.git - branch = v3.1.0 + branch = v3.5.0 diff --git a/tools/flagd-api-testkit/src/main/java/dev/openfeature/contrib/tools/flagd/api/testkit/EvaluationSteps.java b/tools/flagd-api-testkit/src/main/java/dev/openfeature/contrib/tools/flagd/api/testkit/EvaluationSteps.java index 1bfceba29..c69ba5502 100644 --- a/tools/flagd-api-testkit/src/main/java/dev/openfeature/contrib/tools/flagd/api/testkit/EvaluationSteps.java +++ b/tools/flagd-api-testkit/src/main/java/dev/openfeature/contrib/tools/flagd/api/testkit/EvaluationSteps.java @@ -77,6 +77,14 @@ public void flagEvaluatedWithDetails() { .errorCode(ErrorCode.TYPE_MISMATCH) .errorMessage(e.getMessage()) .build(); + } catch (dev.openfeature.sdk.exceptions.OpenFeatureError e) { + // Mirror the OpenFeature SDK client behaviour: on any provider error, return the + // caller-supplied default value together with the error code and message. + state.evaluation = dev.openfeature.sdk.ProviderEvaluation.builder() + .value(state.defaultValue) + .errorCode(e.getErrorCode()) + .errorMessage(e.getMessage()) + .build(); } } diff --git a/tools/flagd-api-testkit/test-harness b/tools/flagd-api-testkit/test-harness index 854e80122..ff2fbe6c6 160000 --- a/tools/flagd-api-testkit/test-harness +++ b/tools/flagd-api-testkit/test-harness @@ -1 +1 @@ -Subproject commit 854e801228317a6a2eb61aca045e1e77325302b1 +Subproject commit ff2fbe6c6584953cb2753ae9188d1cee14f7f57f