From 528124913d70d39459b9faa499574cb1768a22b8 Mon Sep 17 00:00:00 2001 From: Matthias Urhahn <matthias.urhahn@sap.com> Date: Mon, 22 Feb 2021 10:27:22 +0100 Subject: [PATCH] Default app config cleanup (DEV) #2396 * Remove legacy config check, not necessary anymore. * Unknown serialized fields should be 0. Co-authored-by: Ralf Gehrer <ralfgehrer@users.noreply.github.com> --- Corona-Warn-App/build.gradle | 1 + .../src/main/assets/default_app_config.bin | Bin 296 -> 0 bytes .../src/main/assets/default_app_config.sha256 | 1 - .../fallback/DefaultAppConfigSanityCheck.kt | 28 +++++------------- 4 files changed, 9 insertions(+), 21 deletions(-) delete mode 100644 Corona-Warn-App/src/main/assets/default_app_config.bin delete mode 100644 Corona-Warn-App/src/main/assets/default_app_config.sha256 diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle index 310ecaab8..d5d111ec6 100644 --- a/Corona-Warn-App/build.gradle +++ b/Corona-Warn-App/build.gradle @@ -300,6 +300,7 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:$coroutineVersion" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutineVersion" + testImplementation "org.jetbrains.kotlin:kotlin-reflect:1.4.21" // ANDROID STANDARD def nav_version = "2.3.3" diff --git a/Corona-Warn-App/src/main/assets/default_app_config.bin b/Corona-Warn-App/src/main/assets/default_app_config.bin deleted file mode 100644 index d04532907debe2eaf94fb70f39a3a0ccb7d9937a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296 zcmd<!77E}}<zn{n4;NsN;8&8$C@Co@w$j%xFE7_i&M(T(ODs<;%F|0MDBx1(V)5{F z_YmNh==Z~?P%4K@fP(>O9J2z82CD&^1-k=>AOje9I!HmJ7!(*a7!4RL7#$cDVNzNG z9IOJY608cWKwYdBtPZS(5GfM}E08WG2_^+54JHF73nm99N0=@pptCs41?+{SIUzzH z?4g!Du$P30Ffd3kC>Uv}a0zg+fgQ#m1fwxTj2N64yx1fTF)KV^4r1b9jAG?r6lh@w E0A)8TOaK4? diff --git a/Corona-Warn-App/src/main/assets/default_app_config.sha256 b/Corona-Warn-App/src/main/assets/default_app_config.sha256 deleted file mode 100644 index 686b1764c..000000000 --- a/Corona-Warn-App/src/main/assets/default_app_config.sha256 +++ /dev/null @@ -1 +0,0 @@ -a562bf5940b8c149138634d313db69a298a50e8c52c0b42d18ddf608c385b598 \ No newline at end of file diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt index 9f565b912..65fbea732 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/appconfig/sources/fallback/DefaultAppConfigSanityCheck.kt @@ -3,7 +3,7 @@ package de.rki.coronawarnapp.appconfig.sources.fallback import android.content.Context import android.os.Build import androidx.test.core.app.ApplicationProvider -import de.rki.coronawarnapp.server.protocols.internal.AppConfig +import com.google.protobuf.UnknownFieldSetLite import de.rki.coronawarnapp.server.protocols.internal.v2.AppConfigAndroid import de.rki.coronawarnapp.util.HashExtensions.toSHA256 import io.kotest.assertions.throwables.shouldNotThrowAny @@ -24,9 +24,6 @@ import testhelpers.EmptyApplication @RunWith(RobolectricTestRunner::class) class DefaultAppConfigSanityCheck : BaseTest() { - private val legacyConfigName = "default_app_config.bin" - private val legacyCheckSumName = "default_app_config.sha256" - private val configName = "default_app_config_android.bin" private val checkSumName = "default_app_config_android.sha256" @@ -55,23 +52,14 @@ class DefaultAppConfigSanityCheck : BaseTest() { fun `current default config can be parsed`() { shouldNotThrowAny { val config = context.assets.open(configName).readBytes() - AppConfigAndroid.ApplicationConfigurationAndroid.parseFrom(config) shouldNotBe null - } - } + val parsedConfig = AppConfigAndroid.ApplicationConfigurationAndroid.parseFrom(config) + parsedConfig shouldNotBe null - @Test - fun `legacy config - current default matches checksum`() { - val config = context.assets.open(legacyConfigName).readBytes() - val sha256 = context.assets.open(legacyCheckSumName).readBytes().toString(Charsets.UTF_8) - sha256 shouldBe "a562bf5940b8c149138634d313db69a298a50e8c52c0b42d18ddf608c385b598" - config.toSHA256() shouldBe sha256 - } - - @Test - fun `legacy config - current default config can be parsed`() { - shouldNotThrowAny { - val config = context.assets.open(legacyConfigName).readBytes() - AppConfig.ApplicationConfiguration.parseFrom(config) shouldNotBe null + val unknownFields = parsedConfig.javaClass.superclass!!.getDeclaredField("unknownFields").let { + it.isAccessible = true + it.get(parsedConfig) as UnknownFieldSetLite + } + unknownFields.serializedSize shouldBe 0 } } } -- GitLab