From f08ad35d2e26b3f222cca4f973a865bdd815eeb3 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Tue, 22 Feb 2022 14:33:03 +0530 Subject: [PATCH] Expand tests for multiple identity keys (#1743) --- .github/workflows/pull_request.yml | 3 +++ ...ithub.android-password-store.sentry.gradle.kts | 6 +----- .../dev/msfjarvis/aps/crypto/KeyUtilsTest.kt | 2 ++ .../dev/msfjarvis/aps/crypto/PGPKeyManagerTest.kt | 15 +++++++++++++++ 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index bad91e27..a7841ac4 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -6,6 +6,9 @@ concurrency: group: ${{ github.head_ref }} cancel-in-progress: true +env: + SENTRY_DSN: 'https://public_key@example.com/project_id' + jobs: check-codestyle: runs-on: ubuntu-latest diff --git a/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts b/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts index 3648ccf0..4c22e8c8 100644 --- a/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts +++ b/build-logic/android-plugins/src/main/kotlin/com.github.android-password-store.sentry.gradle.kts @@ -11,11 +11,7 @@ val INVOKED_FROM_IDE_PROPERTY = "android.injected.invoked.from.ide" android { androidComponents { onVariants(selector().withFlavor(FlavorDimensions.FREE to ProductFlavors.NON_FREE)) { variant -> - val sentryDsn = - project - .providers - .environmentVariable(SENTRY_DSN_PROPERTY) - .orElse("https://public_key@example.com/project_id") + val sentryDsn = project.providers.environmentVariable(SENTRY_DSN_PROPERTY) if (sentryDsn.isPresent) { variant.manifestPlaceholders.put("sentryDsn", sentryDsn.get()) } else if (project.providers.gradleProperty(INVOKED_FROM_IDE_PROPERTY).orNull != "true") { diff --git a/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/KeyUtilsTest.kt b/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/KeyUtilsTest.kt index 80c14254..14ac2263 100644 --- a/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/KeyUtilsTest.kt +++ b/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/KeyUtilsTest.kt @@ -4,6 +4,7 @@ import dev.msfjarvis.aps.crypto.KeyUtils.tryGetId import dev.msfjarvis.aps.crypto.KeyUtils.tryParseKeyring import dev.msfjarvis.aps.crypto.TestUtils.getArmoredPrivateKeyWithMultipleIdentities import kotlin.test.Test +import kotlin.test.assertEquals import kotlin.test.assertIs import kotlin.test.assertNotNull import org.bouncycastle.openpgp.PGPSecretKeyRing @@ -18,5 +19,6 @@ class KeyUtilsTest { val keyId = tryGetId(key) assertNotNull(keyId) assertIs(keyId) + assertEquals("b950ae2813841585", keyId.toString()) } } diff --git a/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/PGPKeyManagerTest.kt b/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/PGPKeyManagerTest.kt index 24b27ef8..650f3d89 100644 --- a/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/PGPKeyManagerTest.kt +++ b/crypto-pgpainless/src/test/kotlin/dev/msfjarvis/aps/crypto/PGPKeyManagerTest.kt @@ -4,10 +4,12 @@ import com.github.michaelbull.result.unwrap import com.github.michaelbull.result.unwrapError import dev.msfjarvis.aps.crypto.GpgIdentifier.KeyId import dev.msfjarvis.aps.crypto.GpgIdentifier.UserId +import dev.msfjarvis.aps.crypto.TestUtils.getArmoredPrivateKeyWithMultipleIdentities import java.io.File import kotlin.test.AfterTest import kotlin.test.BeforeTest import kotlin.test.Test +import kotlin.test.assertContentEquals import kotlin.test.assertEquals import kotlin.test.assertIs import kotlin.test.assertNotNull @@ -168,4 +170,17 @@ class PGPKeyManagerTest { val singleKeyList = keyManager.getAllKeys().unwrap() assertEquals(1, singleKeyList.size) } + + @Test + fun testGettingMultipleIdentityKeyWithBothUserIDs() { + scope.runTest { + val key = PGPKey(getArmoredPrivateKeyWithMultipleIdentities()) + keyManager.addKey(key).unwrap() + + val johnKey = keyManager.getKeyById(UserId("john@doe.org")).unwrap() + val janeKey = keyManager.getKeyById(UserId("jane@doe.org")).unwrap() + + assertContentEquals(johnKey.contents, janeKey.contents) + } + } }