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 ...@@ -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.censors.BugCensor.Companion.toNewLogLineIfDifferent
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.coronatest.CoronaTestRepository import de.rki.coronawarnapp.coronatest.CoronaTestRepository
import de.rki.coronawarnapp.util.CWADebug
import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.first
import javax.inject.Inject import javax.inject.Inject
...@@ -31,11 +30,7 @@ class CoronaTestCensor @Inject constructor( ...@@ -31,11 +30,7 @@ class CoronaTestCensor @Inject constructor(
for (token in tokenHistory) { for (token in tokenHistory) {
if (!entry.message.contains(token)) continue if (!entry.message.contains(token)) continue
newMessage = if (CWADebug.isDeviceForTestersBuild) { newMessage = newMessage.replace(token, PLACEHOLDER + token.takeLast(4))
newMessage.replace(token, PLACEHOLDER_TESTER + token.takeLast(27))
} else {
newMessage.replace(token, PLACEHOLDER + token.takeLast(4))
}
} }
identifierHistory identifierHistory
...@@ -48,7 +43,6 @@ class CoronaTestCensor @Inject constructor( ...@@ -48,7 +43,6 @@ class CoronaTestCensor @Inject constructor(
} }
companion object { companion object {
private const val PLACEHOLDER_TESTER = "########-"
private const val PLACEHOLDER = "########-####-####-####-########" private const val PLACEHOLDER = "########-####-####-####-########"
} }
} }
...@@ -4,7 +4,6 @@ import dagger.Reusable ...@@ -4,7 +4,6 @@ import dagger.Reusable
import de.rki.coronawarnapp.bugreporting.censors.BugCensor import de.rki.coronawarnapp.bugreporting.censors.BugCensor
import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLineIfDifferent import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLineIfDifferent
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import javax.inject.Inject import javax.inject.Inject
@Reusable @Reusable
...@@ -15,18 +14,13 @@ class PcrQrCodeCensor @Inject constructor() : BugCensor { ...@@ -15,18 +14,13 @@ class PcrQrCodeCensor @Inject constructor() : BugCensor {
val guid = lastGUID ?: return null val guid = lastGUID ?: return null
if (!entry.message.contains(guid)) return null if (!entry.message.contains(guid)) return null
val newMessage = if (CWADebug.isDeviceForTestersBuild) { val newMessage = entry.message.replace(guid, PLACEHOLDER + guid.takeLast(4))
entry.message.replace(guid, PLACEHOLDER_TESTER + guid.takeLast(27))
} else {
entry.message.replace(guid, PLACEHOLDER + guid.takeLast(4))
}
return entry.toNewLogLineIfDifferent(newMessage) return entry.toNewLogLineIfDifferent(newMessage)
} }
companion object { companion object {
var lastGUID: String? = null var lastGUID: String? = null
private const val PLACEHOLDER_TESTER = "########-"
private const val PLACEHOLDER = "########-####-####-####-########" private const val PLACEHOLDER = "########-####-####-####-########"
} }
} }
...@@ -6,7 +6,6 @@ import de.rki.coronawarnapp.bugreporting.censors.BugCensor.Companion.toNewLogLin ...@@ -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.censors.BugCensor.Companion.withValidName
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.coronatest.qrcode.RapidAntigenHash import de.rki.coronawarnapp.coronatest.qrcode.RapidAntigenHash
import de.rki.coronawarnapp.util.CWADebug
import org.joda.time.LocalDate import org.joda.time.LocalDate
import org.joda.time.format.DateTimeFormat import org.joda.time.format.DateTimeFormat
import javax.inject.Inject import javax.inject.Inject
...@@ -25,11 +24,7 @@ class RatQrCodeCensor @Inject constructor() : BugCensor { ...@@ -25,11 +24,7 @@ class RatQrCodeCensor @Inject constructor() : BugCensor {
with(dataToCensor) { with(dataToCensor) {
newMessage = newMessage.replace(rawString, "RatQrCode/ScannedRawString") newMessage = newMessage.replace(rawString, "RatQrCode/ScannedRawString")
newMessage = if (CWADebug.isDeviceForTestersBuild) { newMessage = newMessage.replace(hash, PLACEHOLDER + hash.takeLast(4))
newMessage.replace(hash, PLACEHOLDER + hash.takeLast(28))
} else {
newMessage.replace(hash, PLACEHOLDER + hash.takeLast(4))
}
withValidName(firstName) { firstName -> withValidName(firstName) { firstName ->
newMessage = newMessage.replace(firstName, "RATest/FirstName") newMessage = newMessage.replace(firstName, "RATest/FirstName")
......
...@@ -6,13 +6,11 @@ import de.rki.coronawarnapp.coronatest.CoronaTestRepository ...@@ -6,13 +6,11 @@ import de.rki.coronawarnapp.coronatest.CoronaTestRepository
import de.rki.coronawarnapp.coronatest.type.CoronaTest import de.rki.coronawarnapp.coronatest.type.CoronaTest
import de.rki.coronawarnapp.coronatest.type.pcr.PCRCoronaTest import de.rki.coronawarnapp.coronatest.type.pcr.PCRCoronaTest
import de.rki.coronawarnapp.coronatest.type.rapidantigen.RACoronaTest import de.rki.coronawarnapp.coronatest.type.rapidantigen.RACoronaTest
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.every import io.mockk.every
import io.mockk.impl.annotations.MockK import io.mockk.impl.annotations.MockK
import io.mockk.mockk import io.mockk.mockk
import io.mockk.mockkObject
import io.mockk.verify import io.mockk.verify
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.runBlockingTest import kotlinx.coroutines.test.runBlockingTest
...@@ -44,9 +42,6 @@ class CoronaTestCensorTest : BaseTest() { ...@@ -44,9 +42,6 @@ class CoronaTestCensorTest : BaseTest() {
fun setup() { fun setup() {
MockKAnnotations.init(this) MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
every { coronaTestRepository.coronaTests } returns coronaTests every { coronaTestRepository.coronaTests } returns coronaTests
} }
...@@ -68,11 +63,6 @@ class CoronaTestCensorTest : BaseTest() { ...@@ -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" 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 } verify { coronaTestRepository.coronaTests }
} }
......
...@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors ...@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors
import de.rki.coronawarnapp.bugreporting.censors.submission.PcrQrCodeCensor import de.rki.coronawarnapp.bugreporting.censors.submission.PcrQrCodeCensor
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.mockkObject
import kotlinx.coroutines.test.runBlockingTest import kotlinx.coroutines.test.runBlockingTest
import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.BeforeEach
...@@ -20,9 +17,6 @@ class PcrQrCodeCensorTest : BaseTest() { ...@@ -20,9 +17,6 @@ class PcrQrCodeCensorTest : BaseTest() {
@BeforeEach @BeforeEach
fun setup() { fun setup() {
MockKAnnotations.init(this) MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
} }
@AfterEach @AfterEach
...@@ -46,11 +40,6 @@ class PcrQrCodeCensorTest : BaseTest() { ...@@ -46,11 +40,6 @@ class PcrQrCodeCensorTest : BaseTest() {
instance.checkLog(censored) shouldBe censored.copy( instance.checkLog(censored) shouldBe censored.copy(
message = "I'm a shy qrcode: ########-####-####-####-########3a2f" 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 @Test
......
...@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors ...@@ -2,11 +2,8 @@ package de.rki.coronawarnapp.bugreporting.censors
import de.rki.coronawarnapp.bugreporting.censors.submission.RatQrCodeCensor import de.rki.coronawarnapp.bugreporting.censors.submission.RatQrCodeCensor
import de.rki.coronawarnapp.bugreporting.debuglog.LogLine import de.rki.coronawarnapp.bugreporting.debuglog.LogLine
import de.rki.coronawarnapp.util.CWADebug
import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldBe
import io.mockk.MockKAnnotations import io.mockk.MockKAnnotations
import io.mockk.every
import io.mockk.mockkObject
import kotlinx.coroutines.test.runBlockingTest import kotlinx.coroutines.test.runBlockingTest
import org.joda.time.LocalDate import org.joda.time.LocalDate
import org.junit.jupiter.api.AfterEach import org.junit.jupiter.api.AfterEach
...@@ -21,9 +18,6 @@ internal class RatQrCodeCensorTest { ...@@ -21,9 +18,6 @@ internal class RatQrCodeCensorTest {
@BeforeEach @BeforeEach
fun setUp() { fun setUp() {
MockKAnnotations.init(this) MockKAnnotations.init(this)
mockkObject(CWADebug)
every { CWADebug.isDeviceForTestersBuild } returns false
} }
@AfterEach @AfterEach
...@@ -56,11 +50,6 @@ internal class RatQrCodeCensorTest { ...@@ -56,11 +50,6 @@ internal class RatQrCodeCensorTest {
censor.checkLog(logLineToCensor) shouldBe logLineToCensor.copy( 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" 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 @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