Test Mode
constructor(storage: Storage, isTestEnvironment: Boolean = Companion.isTestEnvironment, getSuperwallProducts: suspend () -> Either<SuperwallProductsResponse, NetworkError> = {
Either.Failure(NetworkError.Unknown())
}, entitlements: Entitlements? = null, activityProvider: () -> ActivityProvider? = { null }, activityTracker: () -> CurrentActivityTracker? = { null }, hasExternalPurchaseController: () -> Boolean = { false }, apiKey: () -> String = { "" }, dashboardBaseUrl: () -> String = { "" }, track: suspend (InternalSuperwallEvent) -> Unit = { })(source)