Remove unused ComposeNetworkSynchronizationTestRule
This commit is contained in:
parent
908ab50553
commit
1ce0cee3e9
1 changed files with 0 additions and 66 deletions
|
|
@ -1,66 +0,0 @@
|
|||
package org.fnives.test.showcase.testutils.idling
|
||||
|
||||
import androidx.annotation.CheckResult
|
||||
import androidx.compose.ui.test.IdlingResource
|
||||
import androidx.compose.ui.test.junit4.ComposeTestRule
|
||||
import org.fnives.test.showcase.network.testutil.NetworkTestConfigurationHelper
|
||||
import org.junit.rules.TestRule
|
||||
import org.junit.runner.Description
|
||||
import org.junit.runners.model.Statement
|
||||
import org.koin.test.KoinTest
|
||||
|
||||
class ComposeNetworkSynchronizationTestRule(private val composeTestRule: ComposeTestRule) : TestRule, KoinTest {
|
||||
|
||||
private var disposable: Disposable? = null
|
||||
|
||||
override fun apply(base: Statement, description: Description): Statement {
|
||||
return object : Statement() {
|
||||
override fun evaluate() {
|
||||
disposable = registerNetworkingSynchronization()
|
||||
try {
|
||||
base.evaluate()
|
||||
} finally {
|
||||
dispose()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun dispose() = disposable?.dispose()
|
||||
|
||||
@CheckResult
|
||||
private fun registerNetworkingSynchronization(): Disposable {
|
||||
val idlingResources = NetworkTestConfigurationHelper.getOkHttpClients()
|
||||
.associateBy(keySelector = { it.toString() })
|
||||
.map { (key, client) -> OkHttp3IdlingResource.create(key, client) }
|
||||
.map {
|
||||
ComposeIdlingResourceDisposable(composeTestRule, object : IdlingResource {
|
||||
override val isIdleNow: Boolean
|
||||
get() {
|
||||
return it.isIdleNow
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return CompositeDisposable(idlingResources)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private class ComposeIdlingResourceDisposable(
|
||||
private val composeTestRule: ComposeTestRule,
|
||||
private val idlingResource: IdlingResource
|
||||
) : Disposable {
|
||||
override var isDisposed: Boolean = false
|
||||
private set
|
||||
|
||||
init {
|
||||
composeTestRule.registerIdlingResource(idlingResource)
|
||||
}
|
||||
|
||||
override fun dispose() {
|
||||
if (isDisposed) return
|
||||
isDisposed = true
|
||||
composeTestRule.unregisterIdlingResource(idlingResource)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue