diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle index 310ecaab8c2c7de378a364e7c8a5d9f03df861d6..d5d111ec6da6949571f83af296bd608644a080fa 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 Binary files a/Corona-Warn-App/src/main/assets/default_app_config.bin and /dev/null differ 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 686b1764cf7bd1c0662651322c5ca3f29c8f2ff5..0000000000000000000000000000000000000000 --- 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 9f565b91265f00367c3ea0aeef807765c79f73e7..65fbea7326413eafe856079034c1ce49a0f81438 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 } } }