From aa9b1e0ab811fbf1e0be19f3d012c93b9c0919ee Mon Sep 17 00:00:00 2001 From: Juraj Kusnier <jurajkusnier@users.noreply.github.com> Date: Mon, 19 Apr 2021 09:02:32 +0200 Subject: [PATCH] Enable logging for prod (#2842) --- .../upload/server/auth/LogUploadAuthorizer.kt | 6 ------ .../ui/information/InformationFragment.kt | 5 ----- .../java/de/rki/coronawarnapp/util/CWADebug.kt | 8 ++------ .../server/auth/LogUploadAuthorizerTest.kt | 18 ------------------ .../de/rki/coronawarnapp/util/CWADebugTest.kt | 15 +-------------- 5 files changed, 3 insertions(+), 49 deletions(-) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizer.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizer.kt index 121f7f19f..3fc77b8a4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizer.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizer.kt @@ -7,7 +7,6 @@ import de.rki.coronawarnapp.appconfig.ConfigData import de.rki.coronawarnapp.datadonation.safetynet.DeviceAttestation import de.rki.coronawarnapp.server.protocols.internal.ppdd.ElsOtp import de.rki.coronawarnapp.server.protocols.internal.ppdd.ElsOtpRequestAndroid -import de.rki.coronawarnapp.util.CWADebug import kotlinx.coroutines.flow.first import org.joda.time.Instant import timber.log.Timber @@ -27,11 +26,6 @@ class LogUploadAuthorizer @Inject constructor( suspend fun getAuthorizedOTP(otp: UUID = UUID.randomUUID()): LogUploadOtp { Timber.tag(TAG).d("getAuthorizedOTP() trying to authorize %s", otp) - // TODO ¯\_(ツ)_/¯ - if (!CWADebug.isDeviceForTestersBuild) { - throw UnsupportedOperationException() - } - val elsOtp = ElsOtp.ELSOneTimePassword.newBuilder().apply { setOtp(otp.toString()) }.build() diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt index 3e891ee68..c18bdc0f6 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt @@ -5,13 +5,11 @@ import android.os.Bundle import android.view.View import android.view.accessibility.AccessibilityEvent import android.view.accessibility.AccessibilityNodeInfo -import androidx.core.view.isGone import androidx.fragment.app.Fragment import com.google.android.gms.nearby.exposurenotification.ExposureNotificationClient import de.rki.coronawarnapp.R import de.rki.coronawarnapp.databinding.FragmentInformationBinding import de.rki.coronawarnapp.ui.main.MainActivity -import de.rki.coronawarnapp.util.CWADebug import de.rki.coronawarnapp.util.ExternalActionHelper import de.rki.coronawarnapp.util.di.AutoInject import de.rki.coronawarnapp.util.ui.doNavigate @@ -56,9 +54,6 @@ class InformationFragment : Fragment(R.layout.fragment_information), AutoInject setButtonOnClickListener() setAccessibilityDelegate() - - // TODO ¯\_(ツ)_/¯ - binding.informationDebuglog.rootLayout.isGone = !CWADebug.isDeviceForTestersBuild } override fun onResume() { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt index a00851695..7725af441 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/CWADebug.kt @@ -28,8 +28,7 @@ object CWADebug { setupExceptionHandler() debugLogger = debugLoggerFactory(application).also { - // TODO Disabled until all parties are satisfied, search for ¯\_(ツ)_/¯ - if (isDeviceForTestersBuild) it.init() + it.init() } logDeviceInfos() @@ -37,10 +36,7 @@ object CWADebug { fun initAfterInjection(component: ApplicationComponent) { Timber.v("initAfterInjection(%s)", component) - // TODO ¯\_(ツ)_/¯ - if (isDeviceForTestersBuild) { - debugLogger.setInjectionIsReady(component) - } + debugLogger.setInjectionIsReady(component) } val isLogging: Boolean diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizerTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizerTest.kt index d04943c8d..b2a8b3c9f 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizerTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/bugreporting/debuglog/upload/server/auth/LogUploadAuthorizerTest.kt @@ -6,8 +6,6 @@ import de.rki.coronawarnapp.appconfig.LogUploadConfig import de.rki.coronawarnapp.appconfig.SafetyNetRequirements import de.rki.coronawarnapp.datadonation.safetynet.DeviceAttestation import de.rki.coronawarnapp.server.protocols.internal.ppdd.PpacAndroid -import de.rki.coronawarnapp.util.CWADebug -import io.kotest.assertions.throwables.shouldThrow import io.kotest.matchers.shouldBe import io.mockk.MockKAnnotations import io.mockk.Runs @@ -15,7 +13,6 @@ import io.mockk.coEvery import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.just -import io.mockk.mockkObject import io.mockk.slot import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.runBlockingTest @@ -49,9 +46,6 @@ class LogUploadAuthorizerTest : BaseIOTest() { fun setup() { MockKAnnotations.init(this) - mockkObject(CWADebug) - every { CWADebug.isDeviceForTestersBuild } returns true - every { configData.logUpload } returns logUploadConfig every { logUploadConfig.safetyNetRequirements } returns safetyNetRequirements @@ -88,16 +82,4 @@ class LogUploadAuthorizerTest : BaseIOTest() { attestationRequestSlot.captured.configData shouldBe configData attestationRequestSlot.captured.checkDeviceTime shouldBe false } - - @Test - fun `upload is not possible on prod builds`() = runBlockingTest { - every { CWADebug.isDeviceForTestersBuild } returns false - - val expectedOtp = UUID.fromString("15cff19f-af26-41bc-94f2-c1a65075e894") - val instance = createInstance() - - shouldThrow<UnsupportedOperationException> { - instance.getAuthorizedOTP(otp = expectedOtp) - } - } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CWADebugTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CWADebugTest.kt index c29454f47..236128957 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CWADebugTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/util/CWADebugTest.kt @@ -5,7 +5,6 @@ import de.rki.coronawarnapp.bugreporting.debuglog.DebugLogger import de.rki.coronawarnapp.environment.BuildConfigWrap import de.rki.coronawarnapp.util.di.ApplicationComponent import io.kotest.matchers.shouldBe -import io.mockk.Called import io.mockk.MockKAnnotations import io.mockk.Runs import io.mockk.every @@ -13,7 +12,6 @@ import io.mockk.impl.annotations.MockK import io.mockk.just import io.mockk.mockk import io.mockk.mockkObject -import io.mockk.verify import io.mockk.verifySequence import org.junit.jupiter.api.BeforeEach import org.junit.jupiter.api.Test @@ -49,18 +47,7 @@ class CWADebugTest : BaseTest() { } @Test - fun `logging is only initialized on tester builds`() { - val debugLogger: DebugLogger = mockk() - CWADebug.debugLoggerFactory = { debugLogger } - CWADebug.init(application) - CWADebug.initAfterInjection(appComponent) - verify { debugLogger wasNot Called } - } - - @Test - fun `logging is initialized on deviceForTester builds`() { - every { BuildConfigWrap.FLAVOR } returns "deviceForTesters" - + fun `logging is initialized`() { val debugLogger = mockk<DebugLogger>().apply { every { init() } just Runs every { setInjectionIsReady(appComponent) } just Runs -- GitLab