diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/CoronaTestConfig.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/CoronaTestConfig.kt index 54c0ff93229178b39104338d8f5dacbf94f78c24..103a51ca46d67eca897a299b94272534f4f0dadd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/CoronaTestConfig.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/CoronaTestConfig.kt @@ -1,6 +1,7 @@ package de.rki.coronawarnapp.appconfig import de.rki.coronawarnapp.appconfig.mapping.ConfigMapper +import org.joda.time.Duration interface CoronaTestConfig { val coronaRapidAntigenTestParameters: CoronaRapidAntigenTestParametersContainer @@ -9,7 +10,7 @@ interface CoronaTestConfig { } data class CoronaRapidAntigenTestParametersContainer( - val hoursToDeemTestOutdated: Long = DEFAULT_HOURS + val hoursToDeemTestOutdated: Duration = Duration.standardHours(DEFAULT_HOURS) ) { companion object { const val DEFAULT_HOURS: Long = 48 diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestConfigMapper.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestConfigMapper.kt index d7025379b976024313e0e1ab2f116b830cef5991..5d07b483db522fd67b059af632cd437706a22351 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestConfigMapper.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestConfigMapper.kt @@ -5,6 +5,7 @@ import de.rki.coronawarnapp.appconfig.CoronaRapidAntigenTestParametersContainer import de.rki.coronawarnapp.appconfig.CoronaTestConfig import de.rki.coronawarnapp.appconfig.CoronaTestConfigContainer import de.rki.coronawarnapp.server.protocols.internal.v2.AppConfigAndroid.ApplicationConfigurationAndroid +import org.joda.time.Duration import timber.log.Timber import javax.inject.Inject @@ -25,7 +26,9 @@ class CoronaTestConfigMapper @Inject constructor() : CoronaTestConfig.Mapper { private fun ApplicationConfigurationAndroid.mapCoronaTestParameters(): CoronaTestConfig { val coronaRapidAntigenTestParameters = if (coronaTestParameters.hasCoronaRapidAntigenTestParameters()) { CoronaRapidAntigenTestParametersContainer( - coronaTestParameters.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated.toLong() + Duration.standardHours( + coronaTestParameters.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated.toLong() + ) ) } else { Timber.d("coronaRapidAntigenTestParameters is missing") diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestParametersDistinctTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestParametersDistinctTest.kt index 1f71e9b78d2c72f0df2989e4a752b29bfdc5147e..772016b4be0eda0504f68f311bafd41f9eceb6a7 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestParametersDistinctTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/mapping/CoronaTestParametersDistinctTest.kt @@ -7,19 +7,22 @@ import kotlinx.coroutines.flow.drop import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.flow import kotlinx.coroutines.test.runBlockingTest +import org.joda.time.Duration import org.junit.Test import testhelpers.BaseTest class CoronaTestParametersDistinctTest : BaseTest() { + private val durationOf48H: Duration = Duration.standardHours(48) + private val durationOf12H: Duration = Duration.standardHours(12) @Test fun `can we use distinctUntilChanged on CoronaTestParameters`() = runBlockingTest { val flow = flow { - emit(CoronaRapidAntigenTestParametersContainer(48)) - emit(CoronaRapidAntigenTestParametersContainer(48)) - emit(CoronaRapidAntigenTestParametersContainer(12)) + emit(CoronaRapidAntigenTestParametersContainer(durationOf48H)) + emit(CoronaRapidAntigenTestParametersContainer(Duration.standardHours(48))) + emit(CoronaRapidAntigenTestParametersContainer(durationOf12H)) } - flow.distinctUntilChanged().drop(1).first().hoursToDeemTestOutdated shouldBe 12 + flow.distinctUntilChanged().drop(1).first().hoursToDeemTestOutdated shouldBe durationOf12H } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensionsTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensionsTest.kt index 3998d73348ed29e81a1ed8c900b39d10529c7ea2..9588466bad5eefb63b3c211ea690c131c7d1f479 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensionsTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/coronatest/type/rapidantigen/RapidAntigenCoronaTestExtensionsTest.kt @@ -8,6 +8,7 @@ import io.mockk.MockKAnnotations import io.mockk.every import io.mockk.impl.annotations.MockK import kotlinx.coroutines.test.runBlockingTest +import org.joda.time.Duration import org.joda.time.Instant import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -22,7 +23,8 @@ class RapidAntigenCoronaTestExtensionsTest : BaseTest() { MockKAnnotations.init(this) every { timeStamper.nowUTC } returns Instant.ofEpochMilli(1010010101) - every { coronaTestConfig.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated } returns 48 + every { coronaTestConfig.coronaRapidAntigenTestParameters.hoursToDeemTestOutdated } returns + Duration.standardHours(48) } @Test