From dd5644d8ce6aa2b26c79e63b698aeee68cfcf034 Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Wed, 17 Sep 2025 12:18:44 +0200 Subject: [PATCH 1/3] fix(flagd): fix wrong environment variable and test execution Signed-off-by: Simon Schrottner --- pom.xml | 2 +- .../java/dev/openfeature/contrib/providers/flagd/Config.java | 3 +-- .../dev/openfeature/contrib/providers/flagd/FlagdOptions.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 9d31090e9..a70ac265d 100644 --- a/pom.xml +++ b/pom.xml @@ -242,7 +242,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.5.3 + 3.5.4 diff --git a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java index 9f28d98a9..8d1e767ba 100644 --- a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java +++ b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java @@ -29,12 +29,11 @@ public final class Config { static final String SERVER_CERT_PATH_ENV_VAR_NAME = "FLAGD_SERVER_CERT_PATH"; static final String CACHE_ENV_VAR_NAME = "FLAGD_CACHE"; static final String MAX_CACHE_SIZE_ENV_VAR_NAME = "FLAGD_MAX_CACHE_SIZE"; - static final String MAX_EVENT_STREAM_RETRIES_ENV_VAR_NAME = "FLAGD_MAX_EVENT_STREAM_RETRIES"; static final String BASE_EVENT_STREAM_RETRY_BACKOFF_MS_ENV_VAR_NAME = "FLAGD_RETRY_BACKOFF_MS"; static final String DEADLINE_MS_ENV_VAR_NAME = "FLAGD_DEADLINE_MS"; static final String STREAM_DEADLINE_MS_ENV_VAR_NAME = "FLAGD_STREAM_DEADLINE_MS"; static final String SOURCE_SELECTOR_ENV_VAR_NAME = "FLAGD_SOURCE_SELECTOR"; - static final String SOURCE_PROVIDER_ID_ENV_VAR_NAME = "FLAGD_SOURCE_PROVIDER_ID"; + static final String PROVIDER_ID_ENV_VAR_NAME = "FLAGD_PROVIDER_ID"; static final String OFFLINE_SOURCE_PATH = "FLAGD_OFFLINE_FLAG_SOURCE_PATH"; static final String OFFLINE_POLL_MS = "FLAGD_OFFLINE_POLL_MS"; static final String KEEP_ALIVE_MS_ENV_VAR_NAME_OLD = "FLAGD_KEEP_ALIVE_TIME"; diff --git a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java index e88b3edb9..b2ebbf045 100644 --- a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java +++ b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java @@ -123,7 +123,7 @@ public class FlagdOptions { * ProviderId to be used with flag sync gRPC contract. **/ @Builder.Default - private String providerId = fallBackToEnvOrDefault(Config.SOURCE_PROVIDER_ID_ENV_VAR_NAME, null); + private String providerId = fallBackToEnvOrDefault(Config.PROVIDER_ID_ENV_VAR_NAME, null); /** * gRPC client KeepAlive in milliseconds. Disabled with 0. From 962ff0b5cd42a4b5d4029a43670d12ec7d477ced Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Wed, 17 Sep 2025 12:59:57 +0200 Subject: [PATCH 2/3] fixup: adapt tests to the new sdk version Signed-off-by: Simon Schrottner --- .../hook/EnrichEvaluationContextHookTest.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/providers/go-feature-flag/src/test/java/dev/openfeature/contrib/providers/gofeatureflag/hook/EnrichEvaluationContextHookTest.java b/providers/go-feature-flag/src/test/java/dev/openfeature/contrib/providers/gofeatureflag/hook/EnrichEvaluationContextHookTest.java index 523bb8d2d..b49d95f29 100644 --- a/providers/go-feature-flag/src/test/java/dev/openfeature/contrib/providers/gofeatureflag/hook/EnrichEvaluationContextHookTest.java +++ b/providers/go-feature-flag/src/test/java/dev/openfeature/contrib/providers/gofeatureflag/hook/EnrichEvaluationContextHookTest.java @@ -27,12 +27,8 @@ void shouldReturnNothingIfNoOptionsProvided() { @Test void shouldReturnSameContextIfNoMetadataProvided() { EnrichEvaluationContextHook hook = new EnrichEvaluationContextHook(null); - val hookContext = HookContext.builder() - .ctx(TestUtils.defaultEvaluationContext) - .flagKey("testFlagKey") - .type(FlagValueType.BOOLEAN) - .defaultValue("default") - .build(); + val hookContext = HookContext.from( + "testFlagKey", FlagValueType.BOOLEAN, null, null, TestUtils.defaultEvaluationContext, "default"); val res = hook.before(hookContext, null); assertEquals(Optional.of(hookContext.getCtx()), res); } @@ -42,12 +38,8 @@ void shouldReturnSameContextIfNoMetadataProvided() { @Test void shouldReturnSameContextIfMetadataEmpty() { EnrichEvaluationContextHook hook = new EnrichEvaluationContextHook(Collections.emptyMap()); - val hookContext = HookContext.builder() - .ctx(TestUtils.defaultEvaluationContext) - .flagKey("testFlagKey") - .type(FlagValueType.BOOLEAN) - .defaultValue("default") - .build(); + val hookContext = HookContext.from( + "testFlagKey", FlagValueType.BOOLEAN, null, null, TestUtils.defaultEvaluationContext, "default"); val res = hook.before(hookContext, null); assertEquals(Optional.of(hookContext.getCtx()), res); } From 85ca651e3683af49fb3304ec9eedf1c9f0b64771 Mon Sep 17 00:00:00 2001 From: Simon Schrottner Date: Tue, 23 Sep 2025 08:04:37 +0200 Subject: [PATCH 3/3] fixup: adding fallback for old version Signed-off-by: Simon Schrottner --- .../dev/openfeature/contrib/providers/flagd/Config.java | 8 ++++++++ .../openfeature/contrib/providers/flagd/FlagdOptions.java | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java index 8d1e767ba..deaeedfe8 100644 --- a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java +++ b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/Config.java @@ -33,6 +33,14 @@ public final class Config { static final String DEADLINE_MS_ENV_VAR_NAME = "FLAGD_DEADLINE_MS"; static final String STREAM_DEADLINE_MS_ENV_VAR_NAME = "FLAGD_STREAM_DEADLINE_MS"; static final String SOURCE_SELECTOR_ENV_VAR_NAME = "FLAGD_SOURCE_SELECTOR"; + /** + * Environment variable to fetch Provider id. + * + * @deprecated please use {@link #PROVIDER_ID_ENV_VAR_NAME} + */ + @Deprecated(forRemoval = true) + static final String SOURCE_PROVIDER_ID_ENV_VAR_NAME = "FLAGD_SOURCE_PROVIDER_ID"; + static final String PROVIDER_ID_ENV_VAR_NAME = "FLAGD_PROVIDER_ID"; static final String OFFLINE_SOURCE_PATH = "FLAGD_OFFLINE_FLAG_SOURCE_PATH"; static final String OFFLINE_POLL_MS = "FLAGD_OFFLINE_POLL_MS"; diff --git a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java index b2ebbf045..bba7750de 100644 --- a/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java +++ b/providers/flagd/src/main/java/dev/openfeature/contrib/providers/flagd/FlagdOptions.java @@ -42,7 +42,8 @@ public class FlagdOptions { // TODO: remove the metadata call entirely after https://github.com/open-feature/flagd/issues/1584 /** - * Disables call to sync.GetMetadata (see: https://buf.build/open-feature/flagd/docs/main:flagd.sync.v1#flagd.sync.v1.FlagSyncService.GetMetadata). + * Disables call to sync.GetMetadata (see: + * https://buf.build/open-feature/flagd/docs/main:flagd.sync.v1#flagd.sync.v1.FlagSyncService.GetMetadata). * Disabling will prevent static context from flagd being used in evaluations. * GetMetadata and this option will be removed. */ @@ -123,7 +124,8 @@ public class FlagdOptions { * ProviderId to be used with flag sync gRPC contract. **/ @Builder.Default - private String providerId = fallBackToEnvOrDefault(Config.PROVIDER_ID_ENV_VAR_NAME, null); + private String providerId = fallBackToEnvOrDefault( + Config.PROVIDER_ID_ENV_VAR_NAME, fallBackToEnvOrDefault(Config.SOURCE_PROVIDER_ID_ENV_VAR_NAME, null)); /** * gRPC client KeepAlive in milliseconds. Disabled with 0.