summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coroutine-utils-testing/src/main/kotlin/dev/msfjarvis/aps/test/turbine.ext.kt37
-rw-r--r--format-common/src/test/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntryTest.kt8
-rw-r--r--gradle/libs.versions.toml2
3 files changed, 5 insertions, 42 deletions
diff --git a/coroutine-utils-testing/src/main/kotlin/dev/msfjarvis/aps/test/turbine.ext.kt b/coroutine-utils-testing/src/main/kotlin/dev/msfjarvis/aps/test/turbine.ext.kt
deleted file mode 100644
index 596be1a1..00000000
--- a/coroutine-utils-testing/src/main/kotlin/dev/msfjarvis/aps/test/turbine.ext.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright © 2014-2022 The Android Password Store Authors. All Rights Reserved.
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-package dev.msfjarvis.aps.test
-
-import app.cash.turbine.FlowTurbine
-import app.cash.turbine.test
-import kotlin.coroutines.coroutineContext
-import kotlin.time.Duration
-import kotlin.time.Duration.Companion.seconds
-import kotlin.time.ExperimentalTime
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.test.TestCoroutineScheduler
-import kotlinx.coroutines.test.UnconfinedTestDispatcher
-
-/**
- * Wrapper for [test] that implements compatibility with kotlinx.coroutines 1.6.0
- *
- * @see "https://github.com/cashapp/turbine/issues/42#issuecomment-1000317026"
- */
-@ExperimentalTime
-@ExperimentalCoroutinesApi
-public suspend fun <T> Flow<T>.test2(
- timeout: Duration = 1.seconds,
- validate: suspend FlowTurbine<T>.() -> Unit,
-) {
- val testScheduler = coroutineContext[TestCoroutineScheduler]
- return if (testScheduler == null) {
- test(timeout, validate)
- } else {
- flowOn(UnconfinedTestDispatcher(testScheduler)).test(timeout, validate)
- }
-}
diff --git a/format-common/src/test/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntryTest.kt b/format-common/src/test/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntryTest.kt
index 55c62533..201eb611 100644
--- a/format-common/src/test/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntryTest.kt
+++ b/format-common/src/test/kotlin/dev/msfjarvis/aps/data/passfile/PasswordEntryTest.kt
@@ -5,8 +5,8 @@
package dev.msfjarvis.aps.data.passfile
+import app.cash.turbine.test
import dev.msfjarvis.aps.test.CoroutineTestRule
-import dev.msfjarvis.aps.test.test2
import dev.msfjarvis.aps.util.time.TestUserClock
import dev.msfjarvis.aps.util.time.UserClock
import dev.msfjarvis.aps.util.totp.TotpFinder
@@ -135,7 +135,7 @@ class PasswordEntryTest {
fun testGeneratesOtpFromTotpUri() = runTest {
val entry = makeEntry("secret\nextra\n$TOTP_URI")
assertTrue(entry.hasTotp())
- entry.totp.test2 {
+ entry.totp.test {
val otp = expectMostRecentItem()
assertEquals("818800", otp.value)
assertEquals(30.seconds, otp.remainingTime)
@@ -152,7 +152,7 @@ class PasswordEntryTest {
fun testGeneratedOtpHasCorrectRemainingTime() = runTest {
val entry = makeEntry("secret\nextra\n$TOTP_URI", TestUserClock.withAddedSeconds(5))
assertTrue(entry.hasTotp())
- entry.totp.test2 {
+ entry.totp.test {
val otp = expectMostRecentItem()
assertEquals("818800", otp.value)
assertEquals(25.seconds, otp.remainingTime)
@@ -164,7 +164,7 @@ class PasswordEntryTest {
fun testGeneratesOtpWithOnlyUriInFile() = runTest {
val entry = makeEntry(TOTP_URI)
assertNull(entry.password)
- entry.totp.test2 {
+ entry.totp.test {
val otp = expectMostRecentItem()
assertEquals("818800", otp.value)
assertEquals(30.seconds, otp.remainingTime)
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 5a557f91..6e14b8d3 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -98,7 +98,7 @@ testing-junit = "junit:junit:4.13.2"
testing-kotlintest-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
testing-robolectric = "org.robolectric:robolectric:4.8"
testing-sharedPrefsMock = "com.github.android-password-store:shared-preferences-fake:2.0.0"
-testing-turbine = "app.cash.turbine:turbine:0.7.0"
+testing-turbine = "app.cash.turbine:turbine:0.8.0"
[bundles]
androidxLifecycle = ["androidx-lifecycle-common", "androidx-lifecycle-livedataKtx", "androidx-lifecycle-viewmodelKtx"]