Skip to content

Commit e2b6b8d

Browse files
committed
Adapt SMP to implement Long type support
1 parent 996c782 commit e2b6b8d

9 files changed

Lines changed: 145 additions & 19 deletions

File tree

kotlin-sdk/api/android/kotlin-sdk.api

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ public final class dev/openfeature/kotlin/sdk/ImmutableStructure : dev/openfeatu
241241
public fun keySet ()Ljava/util/Set;
242242
}
243243

244-
public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
244+
public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sdk/StateManagingProvider {
245245
public fun <init> ()V
246246
public fun <init> (Ljava/util/List;)V
247247
public synthetic fun <init> (Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -252,6 +252,7 @@ public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sd
252252
public fun getLongEvaluation (Ljava/lang/String;JLdev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
253253
public fun getMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
254254
public fun getObjectEvaluation (Ljava/lang/String;Ldev/openfeature/kotlin/sdk/Value;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
255+
public fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
255256
public fun getStringEvaluation (Ljava/lang/String;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
256257
public fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
257258
public fun observe ()Lkotlinx/coroutines/flow/Flow;
@@ -283,7 +284,7 @@ public final class dev/openfeature/kotlin/sdk/OpenFeatureAPI {
283284
public final fun getHooks ()Ljava/util/List;
284285
public final fun getProvider ()Ldev/openfeature/kotlin/sdk/FeatureProvider;
285286
public final fun getProviderMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
286-
public final fun getProvidersFlow ()Lkotlinx/coroutines/flow/MutableStateFlow;
287+
public final fun getProvidersFlow ()Lkotlinx/coroutines/flow/StateFlow;
287288
public final fun getStatus ()Ldev/openfeature/kotlin/sdk/OpenFeatureStatus;
288289
public final fun getStatusFlow ()Lkotlinx/coroutines/flow/Flow;
289290
public final fun setEvaluationContext (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlinx/coroutines/CoroutineDispatcher;)V
@@ -402,6 +403,13 @@ public final class dev/openfeature/kotlin/sdk/ProviderMetadata$DefaultImpls {
402403
public static fun getOriginalMetadata (Ldev/openfeature/kotlin/sdk/ProviderMetadata;)Ljava/util/Map;
403404
}
404405

406+
public final class dev/openfeature/kotlin/sdk/ProviderStatusTracker {
407+
public fun <init> ()V
408+
public final fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
409+
public final fun observe ()Lkotlinx/coroutines/flow/Flow;
410+
public final fun send (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents;)V
411+
}
412+
405413
public final class dev/openfeature/kotlin/sdk/Reason : java/lang/Enum {
406414
public static final field CACHED Ldev/openfeature/kotlin/sdk/Reason;
407415
public static final field DEFAULT Ldev/openfeature/kotlin/sdk/Reason;
@@ -417,6 +425,18 @@ public final class dev/openfeature/kotlin/sdk/Reason : java/lang/Enum {
417425
public static fun values ()[Ldev/openfeature/kotlin/sdk/Reason;
418426
}
419427

428+
public abstract interface class dev/openfeature/kotlin/sdk/StateManagingProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
429+
public abstract fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
430+
public abstract fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
431+
public abstract fun observe ()Lkotlinx/coroutines/flow/Flow;
432+
public abstract fun onContextSet (Ldev/openfeature/kotlin/sdk/EvaluationContext;Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
433+
public abstract fun shutdown ()V
434+
}
435+
436+
public final class dev/openfeature/kotlin/sdk/StateManagingProvider$DefaultImpls {
437+
public static fun track (Ldev/openfeature/kotlin/sdk/StateManagingProvider;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;Ldev/openfeature/kotlin/sdk/TrackingEventDetails;)V
438+
}
439+
420440
public abstract interface class dev/openfeature/kotlin/sdk/Structure {
421441
public abstract fun asMap ()Ljava/util/Map;
422442
public abstract fun asObjectMap ()Ljava/util/Map;
@@ -730,6 +750,15 @@ public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$P
730750
public fun toString ()Ljava/lang/String;
731751
}
732752

753+
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderNotReady : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
754+
public static final field INSTANCE Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderNotReady;
755+
public fun equals (Ljava/lang/Object;)Z
756+
public synthetic fun getEventDetails ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
757+
public fun getEventDetails ()Ljava/lang/Void;
758+
public fun hashCode ()I
759+
public fun toString ()Ljava/lang/String;
760+
}
761+
733762
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReady : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
734763
public fun <init> ()V
735764
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
@@ -743,6 +772,19 @@ public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$P
743772
public fun toString ()Ljava/lang/String;
744773
}
745774

775+
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
776+
public fun <init> ()V
777+
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
778+
public synthetic fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
779+
public final fun component1 ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
780+
public final fun copy (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;
781+
public static synthetic fun copy$default (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;ILjava/lang/Object;)Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;
782+
public fun equals (Ljava/lang/Object;)Z
783+
public fun getEventDetails ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
784+
public fun hashCode ()I
785+
public fun toString ()Ljava/lang/String;
786+
}
787+
746788
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderStale : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
747789
public fun <init> ()V
748790
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
@@ -906,7 +948,7 @@ public final class dev/openfeature/kotlin/sdk/multiprovider/FirstSuccessfulStrat
906948
public fun evaluate (Ljava/util/List;Ljava/lang/String;Ljava/lang/Object;Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/jvm/functions/Function4;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
907949
}
908950

909-
public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
951+
public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/openfeature/kotlin/sdk/StateManagingProvider {
910952
public static final field Companion Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Companion;
911953
public fun <init> (Ljava/util/List;Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Strategy;)V
912954
public synthetic fun <init> (Ljava/util/List;Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Strategy;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -917,6 +959,7 @@ public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/
917959
public fun getLongEvaluation (Ljava/lang/String;JLdev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
918960
public fun getMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
919961
public fun getObjectEvaluation (Ljava/lang/String;Ldev/openfeature/kotlin/sdk/Value;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
962+
public fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
920963
public final fun getStatusFlow ()Lkotlinx/coroutines/flow/StateFlow;
921964
public fun getStringEvaluation (Ljava/lang/String;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
922965
public fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

kotlin-sdk/api/jvm/kotlin-sdk.api

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ public final class dev/openfeature/kotlin/sdk/ImmutableStructure : dev/openfeatu
241241
public fun keySet ()Ljava/util/Set;
242242
}
243243

244-
public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
244+
public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sdk/StateManagingProvider {
245245
public fun <init> ()V
246246
public fun <init> (Ljava/util/List;)V
247247
public synthetic fun <init> (Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -252,6 +252,7 @@ public class dev/openfeature/kotlin/sdk/NoOpProvider : dev/openfeature/kotlin/sd
252252
public fun getLongEvaluation (Ljava/lang/String;JLdev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
253253
public fun getMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
254254
public fun getObjectEvaluation (Ljava/lang/String;Ldev/openfeature/kotlin/sdk/Value;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
255+
public fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
255256
public fun getStringEvaluation (Ljava/lang/String;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
256257
public fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
257258
public fun observe ()Lkotlinx/coroutines/flow/Flow;
@@ -283,7 +284,7 @@ public final class dev/openfeature/kotlin/sdk/OpenFeatureAPI {
283284
public final fun getHooks ()Ljava/util/List;
284285
public final fun getProvider ()Ldev/openfeature/kotlin/sdk/FeatureProvider;
285286
public final fun getProviderMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
286-
public final fun getProvidersFlow ()Lkotlinx/coroutines/flow/MutableStateFlow;
287+
public final fun getProvidersFlow ()Lkotlinx/coroutines/flow/StateFlow;
287288
public final fun getStatus ()Ldev/openfeature/kotlin/sdk/OpenFeatureStatus;
288289
public final fun getStatusFlow ()Lkotlinx/coroutines/flow/Flow;
289290
public final fun setEvaluationContext (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlinx/coroutines/CoroutineDispatcher;)V
@@ -402,6 +403,13 @@ public final class dev/openfeature/kotlin/sdk/ProviderMetadata$DefaultImpls {
402403
public static fun getOriginalMetadata (Ldev/openfeature/kotlin/sdk/ProviderMetadata;)Ljava/util/Map;
403404
}
404405

406+
public final class dev/openfeature/kotlin/sdk/ProviderStatusTracker {
407+
public fun <init> ()V
408+
public final fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
409+
public final fun observe ()Lkotlinx/coroutines/flow/Flow;
410+
public final fun send (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents;)V
411+
}
412+
405413
public final class dev/openfeature/kotlin/sdk/Reason : java/lang/Enum {
406414
public static final field CACHED Ldev/openfeature/kotlin/sdk/Reason;
407415
public static final field DEFAULT Ldev/openfeature/kotlin/sdk/Reason;
@@ -417,6 +425,18 @@ public final class dev/openfeature/kotlin/sdk/Reason : java/lang/Enum {
417425
public static fun values ()[Ldev/openfeature/kotlin/sdk/Reason;
418426
}
419427

428+
public abstract interface class dev/openfeature/kotlin/sdk/StateManagingProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
429+
public abstract fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
430+
public abstract fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
431+
public abstract fun observe ()Lkotlinx/coroutines/flow/Flow;
432+
public abstract fun onContextSet (Ldev/openfeature/kotlin/sdk/EvaluationContext;Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
433+
public abstract fun shutdown ()V
434+
}
435+
436+
public final class dev/openfeature/kotlin/sdk/StateManagingProvider$DefaultImpls {
437+
public static fun track (Ldev/openfeature/kotlin/sdk/StateManagingProvider;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;Ldev/openfeature/kotlin/sdk/TrackingEventDetails;)V
438+
}
439+
420440
public abstract interface class dev/openfeature/kotlin/sdk/Structure {
421441
public abstract fun asMap ()Ljava/util/Map;
422442
public abstract fun asObjectMap ()Ljava/util/Map;
@@ -730,6 +750,15 @@ public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$P
730750
public fun toString ()Ljava/lang/String;
731751
}
732752

753+
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderNotReady : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
754+
public static final field INSTANCE Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderNotReady;
755+
public fun equals (Ljava/lang/Object;)Z
756+
public synthetic fun getEventDetails ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
757+
public fun getEventDetails ()Ljava/lang/Void;
758+
public fun hashCode ()I
759+
public fun toString ()Ljava/lang/String;
760+
}
761+
733762
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReady : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
734763
public fun <init> ()V
735764
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
@@ -743,6 +772,19 @@ public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$P
743772
public fun toString ()Ljava/lang/String;
744773
}
745774

775+
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
776+
public fun <init> ()V
777+
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
778+
public synthetic fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
779+
public final fun component1 ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
780+
public final fun copy (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;
781+
public static synthetic fun copy$default (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;ILjava/lang/Object;)Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderReconciling;
782+
public fun equals (Ljava/lang/Object;)Z
783+
public fun getEventDetails ()Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;
784+
public fun hashCode ()I
785+
public fun toString ()Ljava/lang/String;
786+
}
787+
746788
public final class dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$ProviderStale : dev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents {
747789
public fun <init> ()V
748790
public fun <init> (Ldev/openfeature/kotlin/sdk/events/OpenFeatureProviderEvents$EventDetails;)V
@@ -906,7 +948,7 @@ public final class dev/openfeature/kotlin/sdk/multiprovider/FirstSuccessfulStrat
906948
public fun evaluate (Ljava/util/List;Ljava/lang/String;Ljava/lang/Object;Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/jvm/functions/Function4;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
907949
}
908950

909-
public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/openfeature/kotlin/sdk/FeatureProvider {
951+
public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/openfeature/kotlin/sdk/StateManagingProvider {
910952
public static final field Companion Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Companion;
911953
public fun <init> (Ljava/util/List;Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Strategy;)V
912954
public synthetic fun <init> (Ljava/util/List;Ldev/openfeature/kotlin/sdk/multiprovider/MultiProvider$Strategy;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
@@ -917,6 +959,7 @@ public final class dev/openfeature/kotlin/sdk/multiprovider/MultiProvider : dev/
917959
public fun getLongEvaluation (Ljava/lang/String;JLdev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
918960
public fun getMetadata ()Ldev/openfeature/kotlin/sdk/ProviderMetadata;
919961
public fun getObjectEvaluation (Ljava/lang/String;Ldev/openfeature/kotlin/sdk/Value;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
962+
public fun getStatus ()Lkotlinx/coroutines/flow/StateFlow;
920963
public final fun getStatusFlow ()Lkotlinx/coroutines/flow/StateFlow;
921964
public fun getStringEvaluation (Ljava/lang/String;Ljava/lang/String;Ldev/openfeature/kotlin/sdk/EvaluationContext;)Ldev/openfeature/kotlin/sdk/ProviderEvaluation;
922965
public fun initialize (Ldev/openfeature/kotlin/sdk/EvaluationContext;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

kotlin-sdk/src/commonTest/kotlin/dev/openfeature/kotlin/sdk/HookSpecTests.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ private class LegacyNoOpProvider(
4343
): ProviderEvaluation<Int> =
4444
ProviderEvaluation(defaultValue, "Passed in default", Reason.DEFAULT.toString())
4545

46+
override fun getLongEvaluation(
47+
key: String,
48+
defaultValue: Long,
49+
context: EvaluationContext?
50+
): ProviderEvaluation<Long> =
51+
ProviderEvaluation(defaultValue, "Passed in default", Reason.DEFAULT.toString())
52+
4653
override fun getDoubleEvaluation(
4754
key: String,
4855
defaultValue: Double,

kotlin-sdk/src/commonTest/kotlin/dev/openfeature/kotlin/sdk/LegacyFeatureProviderStatusTests.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,12 @@ private class LegacyControllableProvider : FeatureProvider {
190190
context: EvaluationContext?
191191
): ProviderEvaluation<Int> = ProviderEvaluation(defaultValue)
192192

193+
override fun getLongEvaluation(
194+
key: String,
195+
defaultValue: Long,
196+
context: EvaluationContext?
197+
): ProviderEvaluation<Long> = ProviderEvaluation(defaultValue)
198+
193199
override fun getDoubleEvaluation(
194200
key: String,
195201
defaultValue: Double,
@@ -248,6 +254,12 @@ private class LegacyEmitsStaleOnShutdown : FeatureProvider {
248254
context: EvaluationContext?
249255
): ProviderEvaluation<Int> = ProviderEvaluation(defaultValue)
250256

257+
override fun getLongEvaluation(
258+
key: String,
259+
defaultValue: Long,
260+
context: EvaluationContext?
261+
): ProviderEvaluation<Long> = ProviderEvaluation(defaultValue)
262+
251263
override fun getDoubleEvaluation(
252264
key: String,
253265
defaultValue: Double,
@@ -304,6 +316,12 @@ private class LegacySlowContextProvider : FeatureProvider {
304316
context: EvaluationContext?
305317
): ProviderEvaluation<Int> = ProviderEvaluation(defaultValue)
306318

319+
override fun getLongEvaluation(
320+
key: String,
321+
defaultValue: Long,
322+
context: EvaluationContext?
323+
): ProviderEvaluation<Long> = ProviderEvaluation(defaultValue)
324+
307325
override fun getDoubleEvaluation(
308326
key: String,
309327
defaultValue: Double,

kotlin-sdk/src/commonTest/kotlin/dev/openfeature/kotlin/sdk/ProviderEventingTests.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class ProviderEventingTests {
8383
}
8484
assertEquals(OpenFeatureStatus.Ready, statusList[0])
8585
assertEquals(OpenFeatureStatus.Reconciling, statusList[1])
86-
assertTrue(statusList[2] is OpenFeatureStatus.Error)
86+
assertEquals(OpenFeatureStatus.NotReady, statusList[2])
8787
assertEquals(OpenFeatureStatus.Ready, statusList[3])
8888
assertEquals(OpenFeatureStatus.NotReady, statusList[4])
8989
}

0 commit comments

Comments
 (0)