diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt index 5d4ce8b4fa847c50b9d659318de47d665ca981a3..64f2e75d7addfca50ab691aa7d42bc7d8cd3f4cd 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProvider.kt @@ -30,8 +30,9 @@ class DefaultDiagnosisKeyProvider @Inject constructor( enfVersion.requireMinimumVersion(ENFVersion.V1_6) if (!submissionQuota.consumeQuota(1)) { - Timber.w("No key files submitted because not enough quota available.") - return false + Timber.e("No key files submitted because not enough quota available.") + // Needs discussion until armed, concerns: Hiding other underlying issues. +// return false } return suspendCoroutine { cont -> diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProviderTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProviderTest.kt index a8fdf34442f6c1a6992295762b66324d1c49462e..da15e57215243c887afb317a87160ca618a71619 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProviderTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/modules/diagnosiskeyprovider/DefaultDiagnosisKeyProviderTest.kt @@ -4,10 +4,12 @@ import com.google.android.gms.nearby.exposurenotification.ExposureNotificationCl import de.rki.coronawarnapp.nearby.modules.version.ENFVersion import de.rki.coronawarnapp.nearby.modules.version.OutdatedENFVersionException import io.kotest.matchers.shouldBe +import io.mockk.Called import io.mockk.MockKAnnotations import io.mockk.clearAllMocks import io.mockk.coEvery import io.mockk.coVerify +import io.mockk.coVerifySequence import io.mockk.impl.annotations.MockK import kotlinx.coroutines.runBlocking import kotlinx.coroutines.test.runBlockingTest @@ -61,11 +63,9 @@ class DefaultDiagnosisKeyProviderTest : BaseTest() { runBlockingTest { provider.provideDiagnosisKeys(exampleKeyFiles) } shouldBe false } - coVerify(exactly = 0) { - googleENFClient.provideDiagnosisKeys(exampleKeyFiles) - googleENFClient.provideDiagnosisKeys(listOf(exampleKeyFiles[0])) - googleENFClient.provideDiagnosisKeys(listOf(exampleKeyFiles[1])) - submissionQuota.consumeQuota(2) + coVerify { + googleENFClient wasNot Called + submissionQuota wasNot Called } } @@ -75,27 +75,24 @@ class DefaultDiagnosisKeyProviderTest : BaseTest() { runBlocking { provider.provideDiagnosisKeys(exampleKeyFiles) } shouldBe true - coVerify(exactly = 1) { - googleENFClient.provideDiagnosisKeys(any<List<File>>()) - googleENFClient.provideDiagnosisKeys(exampleKeyFiles) + coVerifySequence { submissionQuota.consumeQuota(1) + googleENFClient.provideDiagnosisKeys(exampleKeyFiles) } } @Test - fun `provide diagnosis key when quota is empty`() { + fun `quota is just monitored`() { coEvery { submissionQuota.consumeQuota(any()) } returns false val provider = createProvider() - runBlocking { provider.provideDiagnosisKeys(exampleKeyFiles) } shouldBe false + runBlocking { provider.provideDiagnosisKeys(exampleKeyFiles) } shouldBe true - coVerify(exactly = 0) { - googleENFClient.provideDiagnosisKeys(any<List<File>>()) + coVerifySequence { + submissionQuota.consumeQuota(1) googleENFClient.provideDiagnosisKeys(exampleKeyFiles) } - - coVerify(exactly = 1) { submissionQuota.consumeQuota(1) } } @Test @@ -104,9 +101,9 @@ class DefaultDiagnosisKeyProviderTest : BaseTest() { runBlocking { provider.provideDiagnosisKeys(emptyList()) } shouldBe true - coVerify(exactly = 0) { - googleENFClient.provideDiagnosisKeys(any<List<File>>()) - googleENFClient.provideDiagnosisKeys(emptyList()) + coVerify { + googleENFClient wasNot Called + submissionQuota wasNot Called } } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt index 4af8bfe870a7f39adc6f71b9d1943fc93c6843ec..c38efd8531cbc4d0c0137a5ad454e27abb16c3cf 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/ExposureWindowsCalculationTest.kt @@ -135,8 +135,8 @@ class ExposureWindowsCalculationTest : BaseTest() { // 6 - Check with expected result from test case aggregatedRiskResult.totalRiskLevel.number shouldBe case.expTotalRiskLevel - aggregatedRiskResult.mostRecentDateWithHighRisk shouldBe getTestCaseDate(case.expAgeOfMostRecentDateWithHighRisk) - aggregatedRiskResult.mostRecentDateWithLowRisk shouldBe getTestCaseDate(case.expAgeOfMostRecentDateWithLowRisk) + aggregatedRiskResult.mostRecentDateWithHighRisk shouldBe getTestCaseDate(case.expAgeOfMostRecentDateWithHighRiskInDays) + aggregatedRiskResult.mostRecentDateWithLowRisk shouldBe getTestCaseDate(case.expAgeOfMostRecentDateWithLowRiskInDays) aggregatedRiskResult.totalMinimumDistinctEncountersWithHighRisk shouldBe case.expTotalMinimumDistinctEncountersWithHighRisk aggregatedRiskResult.totalMinimumDistinctEncountersWithLowRisk shouldBe case.expTotalMinimumDistinctEncountersWithLowRisk } @@ -164,14 +164,14 @@ class ExposureWindowsCalculationTest : BaseTest() { addPropertyCheckToComparisonDebugTable( "Date With High Risk", aggregated.mostRecentDateWithHighRisk, - getTestCaseDate(case.expAgeOfMostRecentDateWithHighRisk) + getTestCaseDate(case.expAgeOfMostRecentDateWithHighRiskInDays) ) ) result.append( addPropertyCheckToComparisonDebugTable( "Date With Low Risk", aggregated.mostRecentDateWithLowRisk, - getTestCaseDate(case.expAgeOfMostRecentDateWithLowRisk) + getTestCaseDate(case.expAgeOfMostRecentDateWithLowRiskInDays) ) ) result.append( diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/cases/TestCase.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/cases/TestCase.kt index 1ee966b354176ac7e9a48a5729a73757511a2173..0d28ea6d7b85b963c6e24e08c4e4c906b6a91082 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/cases/TestCase.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/nearby/windows/entities/cases/TestCase.kt @@ -6,9 +6,9 @@ data class TestCase( @SerializedName("description") val description: String, @SerializedName("expAgeOfMostRecentDateWithHighRisk") - val expAgeOfMostRecentDateWithHighRisk: Long?, + val expAgeOfMostRecentDateWithHighRiskInDays: Long?, @SerializedName("expAgeOfMostRecentDateWithLowRisk") - val expAgeOfMostRecentDateWithLowRisk: Long?, + val expAgeOfMostRecentDateWithLowRiskInDays: Long?, @SerializedName("expTotalMinimumDistinctEncountersWithHighRisk") val expTotalMinimumDistinctEncountersWithHighRisk: Int, @SerializedName("expTotalMinimumDistinctEncountersWithLowRisk")