diff --git a/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithClientConfigurer.java b/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithClientConfigurer.java index fba393820..d1a0c3729 100644 --- a/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithClientConfigurer.java +++ b/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithClientConfigurer.java @@ -118,7 +118,7 @@ private static FlagsmithConfig initializeConfig(FlagsmithProviderOptions options flagsmithConfig.withLocalEvaluation(options.isLocalEvaluation()); } - if (options.getEnvironmentRefreshIntervalSeconds() > -1) { + if (options.getEnvironmentRefreshIntervalSeconds() != null) { flagsmithConfig.withEnvironmentRefreshIntervalSeconds(options.getEnvironmentRefreshIntervalSeconds()); } diff --git a/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderOptions.java b/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderOptions.java index 64a4d9af0..1cce2abc2 100644 --- a/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderOptions.java +++ b/providers/flagsmith/src/main/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderOptions.java @@ -118,7 +118,8 @@ public class FlagsmithProviderOptions { * Set environment refresh rate with polling manager. Only needed when local evaluation is true. * Optional. Default: 60 */ - private int environmentRefreshIntervalSeconds = 60; + @Builder.Default + private Integer environmentRefreshIntervalSeconds = 60; /** * Controls whether Flag Analytics data is sent to the Flagsmith API See diff --git a/providers/flagsmith/src/test/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderTest.java b/providers/flagsmith/src/test/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderTest.java index 83e60c0d0..e3a27c988 100644 --- a/providers/flagsmith/src/test/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderTest.java +++ b/providers/flagsmith/src/test/java/dev.openfeature.contrib.providers.flagsmith/FlagsmithProviderTest.java @@ -203,6 +203,15 @@ void shouldGetMetadataAndValidateName() { .getName()); } + @Test + void shouldDefaultEnvironmentRefreshIntervalSecondsTo60() { + FlagsmithProviderOptions options = FlagsmithProviderOptions.builder() + .apiKey("API_KEY") + .localEvaluation(true) + .build(); + assertEquals(Integer.valueOf(60), options.getEnvironmentRefreshIntervalSeconds()); + } + @ParameterizedTest @MethodSource("invalidOptions") void shouldThrowAnExceptionWhenOptionsInvalid(FlagsmithProviderOptions options) {