mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-19 08:09:12 +01:00
Isolated tests for RecurringInAppPaymentRepository.
This commit is contained in:
committed by
Greyson Parrelli
parent
68d4eafedd
commit
8aee19b3dd
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright 2024 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.testutil
|
||||
|
||||
import io.reactivex.rxjava3.android.plugins.RxAndroidPlugins
|
||||
import io.reactivex.rxjava3.plugins.RxJavaPlugins
|
||||
import io.reactivex.rxjava3.schedulers.TestScheduler
|
||||
import org.junit.rules.ExternalResource
|
||||
|
||||
/**
|
||||
* Sets up RxJava / RxAndroid scheduler overrides.
|
||||
*/
|
||||
class RxPluginsRule(
|
||||
val defaultScheduler: TestScheduler = TestScheduler(),
|
||||
val computationScheduler: TestScheduler = defaultScheduler,
|
||||
val ioScheduler: TestScheduler = defaultScheduler,
|
||||
val singleScheduler: TestScheduler = defaultScheduler,
|
||||
val newThreadScheduler: TestScheduler = defaultScheduler,
|
||||
val mainThreadScheduler: TestScheduler = defaultScheduler
|
||||
) : ExternalResource() {
|
||||
|
||||
override fun before() {
|
||||
RxJavaPlugins.setInitComputationSchedulerHandler { computationScheduler }
|
||||
RxJavaPlugins.setComputationSchedulerHandler { computationScheduler }
|
||||
|
||||
RxJavaPlugins.setInitIoSchedulerHandler { ioScheduler }
|
||||
RxJavaPlugins.setIoSchedulerHandler { ioScheduler }
|
||||
|
||||
RxJavaPlugins.setInitSingleSchedulerHandler { singleScheduler }
|
||||
RxJavaPlugins.setSingleSchedulerHandler { singleScheduler }
|
||||
|
||||
RxJavaPlugins.setInitNewThreadSchedulerHandler { newThreadScheduler }
|
||||
RxJavaPlugins.setNewThreadSchedulerHandler { newThreadScheduler }
|
||||
|
||||
RxAndroidPlugins.setInitMainThreadSchedulerHandler { mainThreadScheduler }
|
||||
RxAndroidPlugins.setMainThreadSchedulerHandler { mainThreadScheduler }
|
||||
}
|
||||
|
||||
override fun after() {
|
||||
RxJavaPlugins.reset()
|
||||
RxAndroidPlugins.reset()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user