FakeFeatureFlags

open class FakeFeatureFlags : FeatureFlags, LegacyFeatureFlags, DynamicConfig, StrongFeatureFlags, Configurable<FakeFeatureFlagsConfig>

In-memory test implementation of FeatureFlags that allows flags to be overridden.

Constructors

Link copied to clipboard
fun FakeFeatureFlags(moshi: Moshi = defaultKotlinMoshi)

Preferred constructor for Wisp

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun configure(config: FakeFeatureFlagsConfig)

Configures the feature flags values from supplied config.

Link copied to clipboard
open override fun get(flag: BooleanFeatureFlag): Boolean
open override fun get(flag: DoubleFeatureFlag): Double
open override fun <T : Enum<T>> get(flag: EnumFeatureFlag<T>): T
open override fun get(flag: IntFeatureFlag): Int
open override fun <T : Any> get(flag: JsonFeatureFlag<T>): T
open override fun get(flag: StringFeatureFlag): String
Link copied to clipboard
open override fun getBoolean(feature: Feature): Boolean
open override fun getBoolean(feature: Feature, key: String): Boolean
open override fun getBoolean(feature: Feature, key: String, attributes: Attributes): Boolean
Link copied to clipboard
open override fun getConfigClass(): KClass<FakeFeatureFlagsConfig>
Link copied to clipboard
open override fun getDouble(feature: Feature): Double
open override fun getDouble(feature: Feature, key: String): Double
open override fun getDouble(feature: Feature, key: String, attributes: Attributes): Double
Link copied to clipboard
open override fun <T : Enum<T>> getEnum(feature: Feature, clazz: Class<T>): T
open override fun <T : Enum<T>> getEnum(feature: Feature, key: String, clazz: Class<T>): T
open override fun <T : Enum<T>> getEnum(feature: Feature, key: String, clazz: Class<T>, attributes: Attributes): T
Link copied to clipboard
open override fun getInt(feature: Feature): Int
open override fun getInt(feature: Feature, key: String): Int
open override fun getInt(feature: Feature, key: String, attributes: Attributes): Int
Link copied to clipboard
open override fun <T> getJson(feature: Feature, clazz: Class<T>): T
open override fun <T> getJson(feature: Feature, key: String, clazz: Class<T>): T
open override fun <T> getJson(feature: Feature, key: String, clazz: Class<T>, attributes: Attributes): T
Link copied to clipboard
open override fun getJsonString(feature: Feature): String
open override fun getJsonString(feature: Feature, key: String): String
open override fun getJsonString(feature: Feature, key: String, attributes: Attributes): String
Link copied to clipboard
open override fun getString(feature: Feature): String
open override fun getString(feature: Feature, key: String): String
open override fun getString(feature: Feature, key: String, attributes: Attributes): String
Link copied to clipboard
inline fun <Flag : JsonFeatureFlag<T>, T : Any> override(value: T, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
inline fun <Flag : EnumFeatureFlag<T>, T : Enum<T>> override(value: T, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
inline fun <Flag : BooleanFeatureFlag> override(value: Boolean, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
inline fun <Flag : DoubleFeatureFlag> override(value: Double, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
inline fun <Flag : IntFeatureFlag> override(value: Int, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
inline fun <Flag : StringFeatureFlag> override(value: String, noinline matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
fun <T> override(feature: Feature, value: T)
fun override(feature: Feature, value: Boolean)
fun override(feature: Feature, value: Double)
fun override(feature: Feature, value: Enum<*>)
fun override(feature: Feature, value: Int)
fun override(feature: Feature, value: String)
fun <T> override(feature: Feature, value: T, clazz: Class<T>)
Link copied to clipboard
fun <T : Any, Flag : FeatureFlag<in T>> overrideAny(clazz: Class<out FeatureFlag<T>>, value: T, matcher: (Flag) -> Boolean = { _ -> true }): FakeFeatureFlags
Link copied to clipboard
inline fun <T> overrideJson(feature: Feature, value: T)
Link copied to clipboard
fun overrideJsonString(feature: Feature, json: String)
Link copied to clipboard
fun <T> overrideKey(feature: Feature, key: String, value: T, clazz: Class<T>)
fun <T> overrideKey(feature: Feature, key: String, value: T, attributes: Attributes = defaultAttributes)
fun overrideKey(feature: Feature, key: String, value: Boolean, attributes: Attributes = defaultAttributes)
fun overrideKey(feature: Feature, key: String, value: Double, attributes: Attributes = defaultAttributes)
fun overrideKey(feature: Feature, key: String, value: Enum<*>, attributes: Attributes = defaultAttributes)
fun overrideKey(feature: Feature, key: String, value: Int, attributes: Attributes = defaultAttributes)
fun overrideKey(feature: Feature, key: String, value: String, attributes: Attributes = defaultAttributes)
Link copied to clipboard
inline fun <T> overrideKeyJson(feature: Feature, key: String, value: T, attributes: Attributes = defaultAttributes)
Link copied to clipboard
fun overrideKeyJsonString(feature: Feature, key: String, value: String, attributes: Attributes = defaultAttributes)
Link copied to clipboard
fun reset()
Link copied to clipboard
open override fun trackBoolean(feature: Feature, executor: Executor, tracker: (Boolean) -> Unit): TrackerReference
open override fun trackBoolean(feature: Feature, key: String, executor: Executor, tracker: (Boolean) -> Unit): TrackerReference
open override fun trackBoolean(feature: Feature, key: String, attributes: Attributes, executor: Executor, tracker: (Boolean) -> Unit): TrackerReference
Link copied to clipboard
open override fun trackDouble(feature: Feature, executor: Executor, tracker: (Double) -> Unit): TrackerReference
open override fun trackDouble(feature: Feature, key: String, executor: Executor, tracker: (Double) -> Unit): TrackerReference
open override fun trackDouble(feature: Feature, key: String, attributes: Attributes, executor: Executor, tracker: (Double) -> Unit): TrackerReference
Link copied to clipboard
open override fun <T : Enum<T>> trackEnum(feature: Feature, clazz: Class<T>, executor: Executor, tracker: (T) -> Unit): TrackerReference
open override fun <T : Enum<T>> trackEnum(feature: Feature, key: String, clazz: Class<T>, executor: Executor, tracker: (T) -> Unit): TrackerReference
open override fun <T : Enum<T>> trackEnum(feature: Feature, key: String, clazz: Class<T>, attributes: Attributes, executor: Executor, tracker: (T) -> Unit): TrackerReference
Link copied to clipboard
open override fun trackInt(feature: Feature, executor: Executor, tracker: (Int) -> Unit): TrackerReference
open override fun trackInt(feature: Feature, key: String, executor: Executor, tracker: (Int) -> Unit): TrackerReference
open override fun trackInt(feature: Feature, key: String, attributes: Attributes, executor: Executor, tracker: (Int) -> Unit): TrackerReference
Link copied to clipboard
open override fun <T> trackJson(feature: Feature, clazz: Class<T>, executor: Executor, tracker: (T) -> Unit): TrackerReference
open override fun <T> trackJson(feature: Feature, key: String, clazz: Class<T>, executor: Executor, tracker: (T) -> Unit): TrackerReference
open override fun <T> trackJson(feature: Feature, key: String, clazz: Class<T>, attributes: Attributes, executor: Executor, tracker: (T) -> Unit): TrackerReference
Link copied to clipboard
open override fun trackString(feature: Feature, executor: Executor, tracker: (String) -> Unit): TrackerReference
open override fun trackString(feature: Feature, key: String, executor: Executor, tracker: (String) -> Unit): TrackerReference
open override fun trackString(feature: Feature, key: String, attributes: Attributes, executor: Executor, tracker: (String) -> Unit): TrackerReference

Properties

Link copied to clipboard
val legacyFeatureFlags: FakeLegacyFeatureFlags
Link copied to clipboard
val strongFeatureFlags: FakeStrongFeatureFlags