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

Add flag to key submission (EXPOSUREAPP-6037) (#2925)


* add submission type

* fix test

Co-authored-by: default avatarJuraj Kusnier <jurajkusnier@users.noreply.github.com>
parent d8d4855d
No related branches found
No related tags found
No related merge requests found
......@@ -101,7 +101,8 @@ class DefaultPlaybook @Inject constructor(
keyList = data.temporaryExposureKeys,
consentToFederation = data.consentToFederation,
visitedCountries = data.visitedCountries,
checkIns = data.checkIns
checkIns = data.checkIns,
submissionType = data.submissionType
)
submissionServer.submitPayload(serverSubmissionData)
coroutineScope.launch { followUpPlaybooks() }
......
......@@ -3,6 +3,7 @@ package de.rki.coronawarnapp.playbook
import de.rki.coronawarnapp.coronatest.server.CoronaTestResult
import de.rki.coronawarnapp.coronatest.server.VerificationKeyType
import de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKeyExportOuterClass
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass.SubmissionPayload
import de.rki.coronawarnapp.server.protocols.internal.pt.CheckInOuterClass
/**
......@@ -38,6 +39,7 @@ interface Playbook {
val temporaryExposureKeys: List<TemporaryExposureKeyExportOuterClass.TemporaryExposureKey>,
val consentToFederation: Boolean,
val visitedCountries: List<String>,
val checkIns: List<CheckInOuterClass.CheckIn>
val checkIns: List<CheckInOuterClass.CheckIn>,
val submissionType: SubmissionPayload.SubmissionType
)
}
......@@ -30,7 +30,8 @@ class SubmissionServer @Inject constructor(
val keyList: List<TemporaryExposureKey>,
val consentToFederation: Boolean,
val visitedCountries: List<String>,
val checkIns: List<CheckInOuterClass.CheckIn>
val checkIns: List<CheckInOuterClass.CheckIn>,
val submissionType: SubmissionPayload.SubmissionType
)
suspend fun submitPayload(
......@@ -69,6 +70,7 @@ class SubmissionServer @Inject constructor(
.setConsentToFederation(data.consentToFederation)
.addAllVisitedCountries(data.visitedCountries)
.addAllCheckIns(data.checkIns)
.setSubmissionType(data.submissionType)
.build()
api.submitPayload(
......
......@@ -12,6 +12,7 @@ import de.rki.coronawarnapp.playbook.Playbook
import de.rki.coronawarnapp.presencetracing.checkins.CheckInRepository
import de.rki.coronawarnapp.presencetracing.checkins.CheckInsTransformer
import de.rki.coronawarnapp.presencetracing.checkins.common.completedCheckIns
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass.SubmissionPayload.SubmissionType
import de.rki.coronawarnapp.submission.SubmissionSettings
import de.rki.coronawarnapp.submission.Symptoms
import de.rki.coronawarnapp.submission.auto.AutoSubmission
......@@ -162,7 +163,8 @@ class SubmissionTask @Inject constructor(
temporaryExposureKeys = transformedKeys,
consentToFederation = true,
visitedCountries = getSupportedCountries(),
checkIns = transformedCheckIns
checkIns = transformedCheckIns,
submissionType = coronaTest.type.toSubmissionType()
)
checkCancel()
......@@ -260,3 +262,8 @@ class SubmissionTask @Inject constructor(
private const val TAG: String = "SubmissionTask"
}
}
private fun CoronaTest.Type.toSubmissionType() = when (this) {
CoronaTest.Type.PCR -> SubmissionType.SUBMISSION_TYPE_PCR_TEST
CoronaTest.Type.RAPID_ANTIGEN -> SubmissionType.SUBMISSION_TYPE_RAPID_TEST
}
......@@ -7,6 +7,7 @@ import de.rki.coronawarnapp.exception.TanPairingException
import de.rki.coronawarnapp.exception.http.BadRequestException
import de.rki.coronawarnapp.playbook.DefaultPlaybook
import de.rki.coronawarnapp.playbook.Playbook
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass.SubmissionPayload.SubmissionType
import de.rki.coronawarnapp.submission.server.SubmissionServer
import io.kotest.assertions.throwables.shouldThrow
import io.kotest.matchers.shouldBe
......@@ -87,7 +88,8 @@ class DefaultPlaybookTest : BaseTest() {
temporaryExposureKeys = listOf(),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
......@@ -109,7 +111,8 @@ class DefaultPlaybookTest : BaseTest() {
temporaryExposureKeys = listOf(),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
} catch (e: Exception) {
......@@ -129,7 +132,8 @@ class DefaultPlaybookTest : BaseTest() {
temporaryExposureKeys = listOf(),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
} catch (e: Exception) {
......@@ -150,7 +154,8 @@ class DefaultPlaybookTest : BaseTest() {
temporaryExposureKeys = listOf(),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
}
......@@ -263,7 +268,8 @@ class DefaultPlaybookTest : BaseTest() {
temporaryExposureKeys = listOf(),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
}
......
......@@ -9,6 +9,7 @@ import de.rki.coronawarnapp.appconfig.PresenceTracingConfigContainer
import de.rki.coronawarnapp.http.HttpModule
import de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKeyExportOuterClass
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass.SubmissionPayload.SubmissionType
import de.rki.coronawarnapp.server.protocols.internal.pt.CheckInOuterClass
import de.rki.coronawarnapp.server.protocols.internal.v2.PresenceTracingParametersOuterClass.PresenceTracingPlausibleDeniabilityParameters.NumberOfFakeCheckInsFunctionParameters
import de.rki.coronawarnapp.server.protocols.internal.v2.RiskCalculationParametersOuterClass
......@@ -105,7 +106,8 @@ class SubmissionServerTest : BaseTest() {
keyList = listOf(googleKeyList),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = listOf(checkIn)
checkIns = listOf(checkIn),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
server.submitPayload(submissionData)
......@@ -174,7 +176,8 @@ class SubmissionServerTest : BaseTest() {
keyList = listOf(googleKeyList),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = listOf(checkIn)
checkIns = listOf(checkIn),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
server.submitPayload(submissionData)
......@@ -236,7 +239,8 @@ class SubmissionServerTest : BaseTest() {
keyList = listOf(googleKeyList),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
webServer.enqueue(MockResponse().setBody("{}"))
server.submitPayload(submissionData)
......
......@@ -13,6 +13,7 @@ import de.rki.coronawarnapp.presencetracing.checkins.CheckIn
import de.rki.coronawarnapp.presencetracing.checkins.CheckInRepository
import de.rki.coronawarnapp.presencetracing.checkins.CheckInsTransformer
import de.rki.coronawarnapp.server.protocols.external.exposurenotification.TemporaryExposureKeyExportOuterClass
import de.rki.coronawarnapp.server.protocols.internal.SubmissionPayloadOuterClass.SubmissionPayload.SubmissionType
import de.rki.coronawarnapp.submission.SubmissionSettings
import de.rki.coronawarnapp.submission.Symptoms
import de.rki.coronawarnapp.submission.auto.AutoSubmission
......@@ -83,6 +84,7 @@ class SubmissionTaskTest : BaseTest() {
every { isSubmitted } returns false
every { registrationToken } returns "regtoken"
every { identifier } returns "coronatest-identifier"
every { type } returns CoronaTest.Type.PCR
}
)
)
......@@ -216,7 +218,8 @@ class SubmissionTaskTest : BaseTest() {
temporaryExposureKeys = listOf(transformedKey),
consentToFederation = true,
visitedCountries = listOf("NL"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
......@@ -283,7 +286,8 @@ class SubmissionTaskTest : BaseTest() {
temporaryExposureKeys = listOf(transformedKey),
consentToFederation = true,
visitedCountries = listOf("NL"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_TEST
)
)
}
......@@ -327,7 +331,8 @@ class SubmissionTaskTest : BaseTest() {
temporaryExposureKeys = listOf(transformedKey),
consentToFederation = true,
visitedCountries = listOf("DE"),
checkIns = emptyList()
checkIns = emptyList(),
submissionType = SubmissionType.SUBMISSION_TYPE_PCR_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