Skip to content
Snippets Groups Projects
Unverified Commit 49124cf2 authored by Kolya Opahle's avatar Kolya Opahle Committed by GitHub
Browse files

Adapt censoring (EXPOSUREAPP-7080) (#3087)


* Removed debug check in censors that acted differently in debug vs prod mode (prod mode is new default)

* Changed tests to not check if debug logging is different

* Also removed build checking from RatQrCodeCensor

* Removed more obsolete mocking of isDeviceForTestersBuild from CoronaTestCensorTest and RatQrCodeCensorTest

Co-authored-by: default avatarLukas Lechner <lukas.lechner@sap.com>
Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent 09a82239
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,6 @@ import de.rki.coronawarnapp.bugreporting.censors.BugCensor
import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLineIfDifferent
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.coronatest.CoronaTestRepository
import de.rki.coronawarnapp.util.CWADebug
import kotlinx.coroutines.flow.first
import javax.inject.Inject
......@@ -31,11 +30,7 @@ class CoronaTestCensor @Inject constructor(
for (token in tokenHistory) {
if (!entry.message.contains(token)) continue
newMessage = if (CWADebug.isDeviceForTestersBuild) {
newMessage.replace(token, PLACEHOLDER_TESTER + token.takeLast(27))
} else {
newMessage.replace(token, PLACEHOLDER + token.takeLast(4))
}
newMessage = newMessage.replace(token, PLACEHOLDER + token.takeLast(4))
}
identifierHistory
......@@ -48,7 +43,6 @@ class CoronaTestCensor @Inject constructor(
}
companion object {
private const val PLACEHOLDER_TESTER = "########-"
private const val PLACEHOLDER = "########-####-####-####-########"
}
}
......@@ -4,7 +4,6 @@ import dagger.Reusable
import de.rki.coronawarnapp.bugreporting.censors.BugCensor
import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLineIfDifferent
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import javax.inject.Inject
@Reusable
......@@ -15,18 +14,13 @@ class PcrQrCodeCensor @Inject constructor() : BugCensor {
val guid = lastGUID ?: return null
if (!entry.message.contains(guid)) return null
val newMessage = if (CWADebug.isDeviceForTestersBuild) {
entry.message.replace(guid, PLACEHOLDER_TESTER + guid.takeLast(27))
} else {
entry.message.replace(guid, PLACEHOLDER + guid.takeLast(4))
}
val newMessage = entry.message.replace(guid, PLACEHOLDER + guid.takeLast(4))
return entry.toNewLogLineIfDifferent(newMessage)
}
companion object {
var lastGUID: String? = null
private const val PLACEHOLDER_TESTER = "########-"
private const val PLACEHOLDER = "########-####-####-####-########"
}
}
......@@ -6,7 +6,6 @@ import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLin
import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.withValidName
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.coronatest.qrcode.RapidAntigenHash
import de.rki.coronawarnapp.util.CWADebug
import org.joda.time.LocalDate
import org.joda.time.format.DateTimeFormat
import javax.inject.Inject
......@@ -25,11 +24,7 @@ class RatQrCodeCensor @Inject constructor() : BugCensor {
with(dataToCensor) {
newMessage = newMessage.replace(rawString, "RatQrCode/ScannedRawString")
newMessage = if (CWADebug.isDeviceForTestersBuild) {
newMessage.replace(hash, PLACEHOLDER + hash.takeLast(28))
} else {
newMessage.replace(hash, PLACEHOLDER + hash.takeLast(4))
}
newMessage = newMessage.replace(hash, PLACEHOLDER + hash.takeLast(4))
withValidName(firstName) { firstName ->
newMessage = newMessage.replace(firstName, "RATest/FirstName")
......
......@@ -6,13 +6,11 @@ import de.rki.coronawarnapp.coronatest.CoronaTestRepository
import de.rki.coronawarnapp.coronatest.type.CoronaTest
import de.rki.coronawarnapp.coronatest.type.pcr.PCRCoronaTest
import de.rki.coronawarnapp.coronatest.type.rapidantigen.RACoronaTest
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.impl.annotations.MockK
import io.mockk.mockk
import io.mockk.mockkObject
import io.mockk.verify
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runBlockingTest
......@@ -44,9 +42,6 @@ class CoronaTestCensorTest : BaseTest() {
fun setup() {
MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
every { coronaTestRepository.coronaTests } returns coronaTests
}
......@@ -68,11 +63,6 @@ class CoronaTestCensorTest : BaseTest() {
message = "I'm a shy registration token: ########-####-####-####-########3a2f and we are extrovert qrcode-pcr-CoronaTest/Identifier and qrcode-rat-CoronaTest/Identifier"
)
every { CWADebug.isDeviceForTestersBuild } returns true
instance.checkLog(filterMe) shouldBe filterMe.copy(
message = "I'm a shy registration token: ########-e0de-4bd4-90c1-17c2bb683a2f and we are extrovert qrcode-pcr-CoronaTest/Identifier and qrcode-rat-CoronaTest/Identifier"
)
verify { coronaTestRepository.coronaTests }
}
......
......@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors
import de.rki.coronawarnapp.bugreporting.censors.submission.PcrQrCodeCensor
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.mockkObject
import kotlinx.coroutines.test.runBlockingTest
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
......@@ -20,9 +17,6 @@ class PcrQrCodeCensorTest : BaseTest() {
@BeforeEach
fun setup() {
MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
}
@AfterEach
......@@ -46,11 +40,6 @@ class PcrQrCodeCensorTest : BaseTest() {
instance.checkLog(censored) shouldBe censored.copy(
message = "I'm a shy qrcode: ########-####-####-####-########3a2f"
)
every { CWADebug.isDeviceForTestersBuild } returns true
instance.checkLog(censored) shouldBe censored.copy(
message = "I'm a shy qrcode: ########-e0de-4bd4-90c1-17c2bb683a2f"
)
}
@Test
......
......@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors
import de.rki.coronawarnapp.bugreporting.censors.submission.RatQrCodeCensor
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.mockkObject
import kotlinx.coroutines.test.runBlockingTest
import org.joda.time.LocalDate
import org.junit.jupiter.api.AfterEach
......@@ -21,9 +18,6 @@ internal class RatQrCodeCensorTest {
@BeforeEach
fun setUp() {
MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
}
@AfterEach
......@@ -56,11 +50,6 @@ internal class RatQrCodeCensorTest {
censor.checkLog(logLineToCensor) shouldBe logLineToCensor.copy(
message = "Here comes the hash: SHA256HASH-ENDING-WITH-15ad of the rat test of RATest/FirstName RATest/LastName. He was born on RATest/DateOfBirth"
)
every { CWADebug.isDeviceForTestersBuild } returns true
censor.checkLog(logLineToCensor) shouldBe logLineToCensor.copy(
message = "Here comes the hash: SHA256HASH-ENDING-WITH-61a396177a9cb410ff61f20015ad of the rat test of RATest/FirstName RATest/LastName. He was born on RATest/DateOfBirth"
)
}
@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