diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt index b6bedbd719..7cb2f4c9e1 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/common/CryptoTestData.kt @@ -35,4 +35,11 @@ data class CryptoTestData(val roomId: String, testHelper.signOutAndClose(it) } } + + fun initializeCrossSigning(testHelper: CryptoTestHelper){ + sessions.forEach { + testHelper.initializeCrossSigning(it) + } + } + } diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt index 2665df0b5c..8739e76cb0 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt @@ -264,7 +264,8 @@ class E2eeSanityTests : InstrumentedTest { } } // after initial sync events are not decrypted, so we have to try manually - cryptoTestHelper.ensureCannotDecrypt(sentEventIds, newBobSession, e2eRoomID, MXCryptoError.ErrorType.UNKNOWN_INBOUND_SESSION_ID) + // TODO CHANGE WHEN AVAILABLE FROM RUST + cryptoTestHelper.ensureCannotDecrypt(sentEventIds, newBobSession, e2eRoomID, MXCryptoError.ErrorType.UNABLE_TO_DECRYPT)//MXCryptoError.ErrorType.UNKNOWN_INBOUND_SESSION_ID) // Let's now import keys from backup diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt index 49c85c36ca..b8743e6a3d 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt @@ -123,7 +123,7 @@ class XSigningTest : InstrumentedTest { } // Check that alice can see bob keys - testHelper.runBlockingTest { aliceSession.cryptoService().downloadKeys(listOf(bobSession.myUserId), true) } + testHelper.runBlockingTest { aliceSession.cryptoService().downloadKeysIfNeeded(listOf(bobSession.myUserId), true) } val bobKeysFromAlicePOV = testHelper.runBlockingTest { aliceSession.cryptoService().crossSigningService().getUserCrossSigningKeys(bobSession.myUserId) @@ -178,7 +178,7 @@ class XSigningTest : InstrumentedTest { // Check that alice can see bob keys val bobUserId = bobSession.myUserId - testHelper.runBlockingTest { aliceSession.cryptoService().downloadKeys(listOf(bobUserId), true) } + testHelper.runBlockingTest { aliceSession.cryptoService().downloadKeysIfNeeded(listOf(bobUserId), true) } val bobKeysFromAlicePOV = testHelper.runBlockingTest { aliceSession.cryptoService().crossSigningService().getUserCrossSigningKeys(bobUserId) @@ -197,7 +197,7 @@ class XSigningTest : InstrumentedTest { // Check that bob first session sees the new login val data = testHelper.runBlockingTest { - bobSession.cryptoService().downloadKeys(listOf(bobUserId), true) + bobSession.cryptoService().downloadKeysIfNeeded(listOf(bobUserId), true) } if (data.getUserDeviceIds(bobUserId)?.contains(bobSecondDeviceId) == false) { @@ -216,7 +216,7 @@ class XSigningTest : InstrumentedTest { // Now alice should cross trust bob's second device val data2 = testHelper.runBlockingTest { - aliceSession.cryptoService().downloadKeys(listOf(bobUserId), true) + aliceSession.cryptoService().downloadKeysIfNeeded(listOf(bobUserId), true) } // check that the device is seen diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt index e5a9092511..eb063f7831 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/gossiping/KeyShareTests.kt @@ -243,10 +243,10 @@ class KeyShareTests : InstrumentedTest { // force keys download commonTestHelper.runBlockingTest { - aliceSession1.cryptoService().downloadKeys(listOf(aliceSession1.myUserId), true) + aliceSession1.cryptoService().downloadKeysIfNeeded(listOf(aliceSession1.myUserId), true) } commonTestHelper.runBlockingTest { - aliceSession2.cryptoService().downloadKeys(listOf(aliceSession2.myUserId), true) + aliceSession2.cryptoService().downloadKeysIfNeeded(listOf(aliceSession2.myUserId), true) } var session1ShortCode: String? = null diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt index 0ab76381c1..7eb5cb6f5f 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt @@ -55,7 +55,7 @@ class SASTest : InstrumentedTest { val testHelper = CommonTestHelper(context()) val cryptoTestHelper = CryptoTestHelper(testHelper) val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom() - + cryptoTestData.initializeCrossSigning(cryptoTestHelper) val aliceSession = cryptoTestData.firstSession val bobSession = cryptoTestData.secondSession @@ -74,7 +74,7 @@ class SASTest : InstrumentedTest { bobSession.cryptoService().getMyCryptoDevice() } val txID = testHelper.runBlockingTest { - aliceSession.cryptoService().downloadKeys(listOf(bobSession.myUserId), forceDownload = true) + aliceSession.cryptoService().downloadKeysIfNeeded(listOf(bobSession.myUserId), forceDownload = true) aliceVerificationService.beginDeviceVerification(bobSession.myUserId, bobDevice.deviceId) } assertNotNull("Alice should have a started transaction", txID) @@ -357,7 +357,7 @@ class SASTest : InstrumentedTest { bobSession.cryptoService().getMyCryptoDevice().deviceId } testHelper.runBlockingTest { - aliceSession.cryptoService().downloadKeys(listOf(bobUserId), forceDownload = true) + aliceSession.cryptoService().downloadKeysIfNeeded(listOf(bobUserId), forceDownload = true) aliceVerificationService.beginDeviceVerification(bobUserId, bobDeviceId) aliceVerificationService.beginDeviceVerification(bobUserId, bobDeviceId) } @@ -423,6 +423,7 @@ class SASTest : InstrumentedTest { val testHelper = CommonTestHelper(context()) val cryptoTestHelper = CryptoTestHelper(testHelper) val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom() + cryptoTestData.initializeCrossSigning(cryptoTestHelper) val sasTestHelper = SasVerificationTestHelper(testHelper, cryptoTestHelper) val aliceSession = cryptoTestData.firstSession val bobSession = cryptoTestData.secondSession!! @@ -461,6 +462,7 @@ class SASTest : InstrumentedTest { val testHelper = CommonTestHelper(context()) val cryptoTestHelper = CryptoTestHelper(testHelper) val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom() + cryptoTestData.initializeCrossSigning(cryptoTestHelper) val sasVerificationTestHelper = SasVerificationTestHelper(testHelper, cryptoTestHelper) val transactionId = sasVerificationTestHelper.requestVerificationAndWaitForReadyState(cryptoTestData, listOf(VerificationMethod.SAS)) val aliceSession = cryptoTestData.firstSession @@ -566,12 +568,9 @@ class SASTest : InstrumentedTest { val testHelper = CommonTestHelper(context()) val cryptoTestHelper = CryptoTestHelper(testHelper) val cryptoTestData = cryptoTestHelper.doE2ETestWithAliceAndBobInARoom() - + cryptoTestData.initializeCrossSigning(cryptoTestHelper) val aliceSession = cryptoTestData.firstSession - val bobSession = cryptoTestData.secondSession - - cryptoTestHelper.initializeCrossSigning(aliceSession) - cryptoTestHelper.initializeCrossSigning(bobSession!!) + val bobSession = cryptoTestData.secondSession!! val aliceVerificationService = aliceSession.cryptoService().verificationService() val bobVerificationService = bobSession.cryptoService().verificationService() diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SasVerificationTestHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SasVerificationTestHelper.kt index 0077f7386c..20f0b918df 100644 --- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SasVerificationTestHelper.kt +++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SasVerificationTestHelper.kt @@ -30,8 +30,6 @@ class SasVerificationTestHelper(private val testHelper: CommonTestHelper, privat fun requestVerificationAndWaitForReadyState(cryptoTestData: CryptoTestData, supportedMethods: List): String { val aliceSession = cryptoTestData.firstSession val bobSession = cryptoTestData.secondSession!! - cryptoTestHelper.initializeCrossSigning(aliceSession) - cryptoTestHelper.initializeCrossSigning(bobSession) val aliceVerificationService = aliceSession.cryptoService().verificationService() val bobVerificationService = bobSession.cryptoService().verificationService()