Skip to content
Snippets Groups Projects
Unverified Commit ea4fec53 authored by Chilja Gossow's avatar Chilja Gossow Committed by GitHub
Browse files

Add check in risk to RiskLevelResult (DEV) (#2595)

* extend risk level result with check in risk

* extend risk level result with check in risk

* extend risk level result with check in risk

* klint

* klint

* convert to interface

* convert to interface
parent c769c471
No related branches found
No related tags found
No related merge requests found
Showing with 28 additions and 4 deletions
...@@ -49,6 +49,8 @@ interface RiskLevelResult { ...@@ -49,6 +49,8 @@ interface RiskLevelResult {
aggregatedRiskResult?.mostRecentDateWithLowRisk aggregatedRiskResult?.mostRecentDateWithLowRisk
} }
val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
enum class FailureReason(val failureCode: String) { enum class FailureReason(val failureCode: String) {
UNKNOWN("unknown"), UNKNOWN("unknown"),
TRACING_OFF("tracingOff"), TRACING_OFF("tracingOff"),
......
...@@ -30,6 +30,8 @@ private object InitialLowLevelRiskLevelResult : RiskLevelResult { ...@@ -30,6 +30,8 @@ private object InitialLowLevelRiskLevelResult : RiskLevelResult {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO("Not yet implemented")
} }
private object UndeterminedRiskLevelResult : RiskLevelResult { private object UndeterminedRiskLevelResult : RiskLevelResult {
...@@ -40,4 +42,6 @@ private object UndeterminedRiskLevelResult : RiskLevelResult { ...@@ -40,4 +42,6 @@ private object UndeterminedRiskLevelResult : RiskLevelResult {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO("Not yet implemented")
} }
...@@ -33,6 +33,9 @@ data class RiskLevelTaskResult( ...@@ -33,6 +33,9 @@ data class RiskLevelTaskResult(
exposureWindows = null exposureWindows = null
) )
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO("Not yet implemented")
override fun toString(): String = "RiskLevelTaskResult(" + override fun toString(): String = "RiskLevelTaskResult(" +
"calculatedAt=$calculatedAt, " + "calculatedAt=$calculatedAt, " +
"failureReason=$failureReason, " + "failureReason=$failureReason, " +
......
package de.rki.coronawarnapp.risk
interface TraceLocationCheckInRisk {
val checkInId: Long
val riskState: RiskState
}
...@@ -5,6 +5,7 @@ import de.rki.coronawarnapp.appconfig.ConfigData ...@@ -5,6 +5,7 @@ import de.rki.coronawarnapp.appconfig.ConfigData
import de.rki.coronawarnapp.datadonation.analytics.modules.exposureriskmetadata.ExposureRiskMetadataDonor import de.rki.coronawarnapp.datadonation.analytics.modules.exposureriskmetadata.ExposureRiskMetadataDonor
import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings import de.rki.coronawarnapp.datadonation.analytics.storage.AnalyticsSettings
import de.rki.coronawarnapp.risk.RiskLevelResult import de.rki.coronawarnapp.risk.RiskLevelResult
import de.rki.coronawarnapp.risk.TraceLocationCheckInRisk
import de.rki.coronawarnapp.risk.result.AggregatedRiskResult import de.rki.coronawarnapp.risk.result.AggregatedRiskResult
import de.rki.coronawarnapp.risk.storage.RiskLevelStorage import de.rki.coronawarnapp.risk.storage.RiskLevelStorage
import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpaData import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpaData
...@@ -51,6 +52,8 @@ class ExposureRiskMetadataDonorTest : BaseTest() { ...@@ -51,6 +52,8 @@ class ExposureRiskMetadataDonorTest : BaseTest() {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // todo
} }
private fun createInstance() = ExposureRiskMetadataDonor( private fun createInstance() = ExposureRiskMetadataDonor(
......
...@@ -68,6 +68,8 @@ class RiskLevelChangeDetectorTest : BaseTest() { ...@@ -68,6 +68,8 @@ class RiskLevelChangeDetectorTest : BaseTest() {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO
} }
private fun createInstance(scope: CoroutineScope) = RiskLevelChangeDetector( private fun createInstance(scope: CoroutineScope) = RiskLevelChangeDetector(
......
...@@ -22,10 +22,12 @@ class RiskLevelResultExtensionsTest : BaseTest() { ...@@ -22,10 +22,12 @@ class RiskLevelResultExtensionsTest : BaseTest() {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO("Not yet implemented")
} }
@Test @Test
fun `getLastestAndLastSuccessful on empty results`() { fun `getLatestAndLastSuccessful on empty results`() {
val emptyResults = emptyList<RiskLevelResult>() val emptyResults = emptyList<RiskLevelResult>()
emptyResults.tryLatestResultsWithDefaults().apply { emptyResults.tryLatestResultsWithDefaults().apply {
...@@ -41,7 +43,7 @@ class RiskLevelResultExtensionsTest : BaseTest() { ...@@ -41,7 +43,7 @@ class RiskLevelResultExtensionsTest : BaseTest() {
} }
@Test @Test
fun `getLastestAndLastSuccessful last calculation was successful`() { fun `getLatestAndLastSuccessful last calculation was successful`() {
val results = listOf( val results = listOf(
createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH), createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH),
createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH.plus(1)) createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH.plus(1))
...@@ -54,7 +56,7 @@ class RiskLevelResultExtensionsTest : BaseTest() { ...@@ -54,7 +56,7 @@ class RiskLevelResultExtensionsTest : BaseTest() {
} }
@Test @Test
fun `getLastestAndLastSuccessful last calculation was not successful`() { fun `getLatestAndLastSuccessful last calculation was not successful`() {
val results = listOf( val results = listOf(
createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH), createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH),
createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH.plus(1)), createRiskLevelResult(hasResult = true, calculatedAt = Instant.EPOCH.plus(1)),
...@@ -68,7 +70,7 @@ class RiskLevelResultExtensionsTest : BaseTest() { ...@@ -68,7 +70,7 @@ class RiskLevelResultExtensionsTest : BaseTest() {
} }
@Test @Test
fun `getLastestAndLastSuccessful no successful calculations yet`() { fun `getLatestAndLastSuccessful no successful calculations yet`() {
val results = listOf( val results = listOf(
createRiskLevelResult(hasResult = false, calculatedAt = Instant.EPOCH.plus(10)), createRiskLevelResult(hasResult = false, calculatedAt = Instant.EPOCH.plus(10)),
createRiskLevelResult(hasResult = false, calculatedAt = Instant.EPOCH.plus(11)), createRiskLevelResult(hasResult = false, calculatedAt = Instant.EPOCH.plus(11)),
......
...@@ -20,6 +20,8 @@ class RiskLevelResultTest : BaseTest() { ...@@ -20,6 +20,8 @@ class RiskLevelResultTest : BaseTest() {
override val exposureWindows: List<ExposureWindow>? = null override val exposureWindows: List<ExposureWindow>? = null
override val matchedKeyCount: Int = 0 override val matchedKeyCount: Int = 0
override val daysWithEncounters: Int = 0 override val daysWithEncounters: Int = 0
override val traceLocationCheckInRiskStates: List<TraceLocationCheckInRisk>
get() = emptyList() // TODO("Not yet implemented")
} }
@Test @Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment