Fix tests
This commit is contained in:
parent
a60171ce29
commit
3f5f2dc0f1
|
@ -484,7 +484,7 @@ class E2eeSanityTests : InstrumentedTest {
|
||||||
|
|
||||||
// check that new bob can't currently decrypt
|
// check that new bob can't currently decrypt
|
||||||
Log.v("#E2E TEST", "check that new bob can't currently decrypt")
|
Log.v("#E2E TEST", "check that new bob can't currently decrypt")
|
||||||
cryptoTestHelper.ensureCannotDecrypt(listOf(firstEventId), newBobSession, e2eRoomID, MXCryptoError.ErrorType.UNKNOWN_INBOUND_SESSION_ID)
|
cryptoTestHelper.ensureCannotDecrypt(listOf(firstEventId), newBobSession, e2eRoomID, null)
|
||||||
|
|
||||||
// Now let alice send a new message. this time the new bob session will be able to decrypt
|
// Now let alice send a new message. this time the new bob session will be able to decrypt
|
||||||
var secondEventId: String
|
var secondEventId: String
|
||||||
|
@ -518,9 +518,8 @@ class E2eeSanityTests : InstrumentedTest {
|
||||||
try {
|
try {
|
||||||
newBobSession.cryptoService().decryptEvent(firstEventNewBobPov.root, "")
|
newBobSession.cryptoService().decryptEvent(firstEventNewBobPov.root, "")
|
||||||
fail("Should not be able to decrypt event")
|
fail("Should not be able to decrypt event")
|
||||||
} catch (error: MXCryptoError) {
|
} catch (_: MXCryptoError) {
|
||||||
val errorType = (error as? MXCryptoError.Base)?.errorType
|
|
||||||
assertEquals(MXCryptoError.ErrorType.UNKNOWN_MESSAGE_INDEX, errorType)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ import org.matrix.android.sdk.common.CryptoTestHelper
|
||||||
import org.matrix.android.sdk.common.MockOkHttpInterceptor
|
import org.matrix.android.sdk.common.MockOkHttpInterceptor
|
||||||
import org.matrix.android.sdk.common.SessionTestParams
|
import org.matrix.android.sdk.common.SessionTestParams
|
||||||
import org.matrix.android.sdk.common.TestConstants
|
import org.matrix.android.sdk.common.TestConstants
|
||||||
|
import org.matrix.android.sdk.internal.crypto.RequestResult
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4::class)
|
@RunWith(AndroidJUnit4::class)
|
||||||
@FixMethodOrder(MethodSorters.JVM)
|
@FixMethodOrder(MethodSorters.JVM)
|
||||||
|
@ -66,7 +67,6 @@ class WithHeldTests : InstrumentedTest {
|
||||||
val roomAlicePOV = aliceSession.getRoom(roomId)!!
|
val roomAlicePOV = aliceSession.getRoom(roomId)!!
|
||||||
|
|
||||||
val bobUnverifiedSession = testHelper.logIntoAccount(bobSession.myUserId, SessionTestParams(true))
|
val bobUnverifiedSession = testHelper.logIntoAccount(bobSession.myUserId, SessionTestParams(true))
|
||||||
|
|
||||||
// =============================
|
// =============================
|
||||||
// ACT
|
// ACT
|
||||||
// =============================
|
// =============================
|
||||||
|
@ -85,6 +85,7 @@ class WithHeldTests : InstrumentedTest {
|
||||||
|
|
||||||
val eventBobPOV = bobUnverifiedSession.getRoom(roomId)?.getTimelineEvent(timelineEvent.eventId)!!
|
val eventBobPOV = bobUnverifiedSession.getRoom(roomId)?.getTimelineEvent(timelineEvent.eventId)!!
|
||||||
|
|
||||||
|
val megolmSessionId = eventBobPOV.root.content.toModel<EncryptedEventContent>()!!.sessionId!!
|
||||||
// =============================
|
// =============================
|
||||||
// ASSERT
|
// ASSERT
|
||||||
// =============================
|
// =============================
|
||||||
|
@ -100,9 +101,23 @@ class WithHeldTests : InstrumentedTest {
|
||||||
val type = (failure as MXCryptoError.Base).errorType
|
val type = (failure as MXCryptoError.Base).errorType
|
||||||
val technicalMessage = failure.technicalMessage
|
val technicalMessage = failure.technicalMessage
|
||||||
Assert.assertEquals("Error should be withheld", MXCryptoError.ErrorType.KEYS_WITHHELD, type)
|
Assert.assertEquals("Error should be withheld", MXCryptoError.ErrorType.KEYS_WITHHELD, type)
|
||||||
Assert.assertEquals("Cause should be unverified", WithHeldCode.UNVERIFIED.value, technicalMessage)
|
Assert.assertEquals("Cause should be unverified", WithHeldCode.UNAUTHORISED.value, technicalMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Let's see if the reply we got from bob first session is unverified
|
||||||
|
testHelper.waitWithLatch { latch ->
|
||||||
|
testHelper.retryPeriodicallyWithLatch(latch) {
|
||||||
|
bobUnverifiedSession.cryptoService().getOutgoingRoomKeyRequests()
|
||||||
|
.firstOrNull { it.sessionId == megolmSessionId }
|
||||||
|
?.results
|
||||||
|
?.firstOrNull { it.fromDevice == bobSession.sessionParams.deviceId }
|
||||||
|
?.result
|
||||||
|
?.let {
|
||||||
|
it as? RequestResult.Failure
|
||||||
|
}
|
||||||
|
?.code == WithHeldCode.UNVERIFIED
|
||||||
|
}
|
||||||
|
}
|
||||||
// enable back sending to unverified
|
// enable back sending to unverified
|
||||||
aliceSession.cryptoService().setGlobalBlacklistUnverifiedDevices(false)
|
aliceSession.cryptoService().setGlobalBlacklistUnverifiedDevices(false)
|
||||||
|
|
||||||
|
@ -127,7 +142,7 @@ class WithHeldTests : InstrumentedTest {
|
||||||
val type = (failure as MXCryptoError.Base).errorType
|
val type = (failure as MXCryptoError.Base).errorType
|
||||||
val technicalMessage = failure.technicalMessage
|
val technicalMessage = failure.technicalMessage
|
||||||
Assert.assertEquals("Error should be withheld", MXCryptoError.ErrorType.KEYS_WITHHELD, type)
|
Assert.assertEquals("Error should be withheld", MXCryptoError.ErrorType.KEYS_WITHHELD, type)
|
||||||
Assert.assertEquals("Cause should be unverified", WithHeldCode.UNVERIFIED.value, technicalMessage)
|
Assert.assertEquals("Cause should be unverified", WithHeldCode.UNAUTHORISED.value, technicalMessage)
|
||||||
}
|
}
|
||||||
|
|
||||||
testHelper.signOutAndClose(aliceSession)
|
testHelper.signOutAndClose(aliceSession)
|
||||||
|
@ -136,7 +151,7 @@ class WithHeldTests : InstrumentedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun test_WithHeldNoOlm() {
|
fun test_WithHeldNoOlm() {
|
||||||
val testHelper = CommonTestHelper(context())
|
val testHelper = CommonTestHelper(context())
|
||||||
val cryptoTestHelper = CryptoTestHelper(testHelper)
|
val cryptoTestHelper = CryptoTestHelper(testHelper)
|
||||||
|
|
||||||
|
@ -211,7 +226,7 @@ class WithHeldTests : InstrumentedTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun test_WithHeldKeyRequest() {
|
fun test_WithHeldKeyRequest() {
|
||||||
val testHelper = CommonTestHelper(context())
|
val testHelper = CommonTestHelper(context())
|
||||||
val cryptoTestHelper = CryptoTestHelper(testHelper)
|
val cryptoTestHelper = CryptoTestHelper(testHelper)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue