From 73fccdd6dede8423504b49179c885a3662c0732f Mon Sep 17 00:00:00 2001 From: Valere Date: Wed, 3 Feb 2021 15:38:16 +0100 Subject: [PATCH] fix test compilation --- .../app/VerifySessionInteractiveTest.kt | 21 ++++++++--- .../vector/app/VerifySessionPassphraseTest.kt | 35 +++++++++++++++---- 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/vector/src/androidTest/java/im/vector/app/VerifySessionInteractiveTest.kt b/vector/src/androidTest/java/im/vector/app/VerifySessionInteractiveTest.kt index dc9f1bccbf..571bcf474c 100644 --- a/vector/src/androidTest/java/im/vector/app/VerifySessionInteractiveTest.kt +++ b/vector/src/androidTest/java/im/vector/app/VerifySessionInteractiveTest.kt @@ -42,6 +42,8 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.matrix.android.sdk.api.Matrix +import org.matrix.android.sdk.api.auth.UIABaseAuth +import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.crypto.verification.SasVerificationTransaction import org.matrix.android.sdk.api.session.crypto.verification.VerificationMethod @@ -49,6 +51,9 @@ import org.matrix.android.sdk.api.session.crypto.verification.VerificationServic import org.matrix.android.sdk.api.session.crypto.verification.VerificationTransaction import org.matrix.android.sdk.api.session.crypto.verification.VerificationTxState import org.matrix.android.sdk.api.auth.UserPasswordAuth +import org.matrix.android.sdk.api.auth.registration.RegistrationFlowResponse +import kotlin.coroutines.Continuation +import kotlin.coroutines.resume @RunWith(AndroidJUnit4::class) @LargeTest @@ -67,10 +72,18 @@ class VerifySessionInteractiveTest : VerificationTestBase() { existingSession = createAccountAndSync(matrix, userName, password, true) doSync { existingSession!!.cryptoService().crossSigningService() - .initializeCrossSigning(UserPasswordAuth( - user = existingSession!!.myUserId, - password = "password" - ), it) + .initializeCrossSigning( + object : UserInteractiveAuthInterceptor { + override fun performStage(flowResponse: RegistrationFlowResponse, errCode: String?, promise: Continuation) { + promise.resume( + UserPasswordAuth( + user = existingSession!!.myUserId, + password = "password", + session = flowResponse.session + ) + ) + } + }, it) } } diff --git a/vector/src/androidTest/java/im/vector/app/VerifySessionPassphraseTest.kt b/vector/src/androidTest/java/im/vector/app/VerifySessionPassphraseTest.kt index 8da1290e04..c51ff29669 100644 --- a/vector/src/androidTest/java/im/vector/app/VerifySessionPassphraseTest.kt +++ b/vector/src/androidTest/java/im/vector/app/VerifySessionPassphraseTest.kt @@ -46,8 +46,13 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.matrix.android.sdk.api.Matrix -import org.matrix.android.sdk.api.session.Session +import org.matrix.android.sdk.api.auth.UIABaseAuth +import org.matrix.android.sdk.api.auth.UserInteractiveAuthInterceptor import org.matrix.android.sdk.api.auth.UserPasswordAuth +import org.matrix.android.sdk.api.auth.registration.RegistrationFlowResponse +import org.matrix.android.sdk.api.session.Session +import kotlin.coroutines.Continuation +import kotlin.coroutines.resume @RunWith(AndroidJUnit4::class) @LargeTest @@ -67,17 +72,35 @@ class VerifySessionPassphraseTest : VerificationTestBase() { existingSession = createAccountAndSync(matrix, userName, password, true) doSync { existingSession!!.cryptoService().crossSigningService() - .initializeCrossSigning(UserPasswordAuth( - user = existingSession!!.myUserId, - password = "password" - ), it) + .initializeCrossSigning( + object : UserInteractiveAuthInterceptor { + override fun performStage(flowResponse: RegistrationFlowResponse, errCode: String?, promise: Continuation) { + promise.resume( + UserPasswordAuth( + user = existingSession!!.myUserId, + password = "password", + session = flowResponse.session + ) + ) + } + }, it) } val task = BootstrapCrossSigningTask(existingSession!!, StringProvider(context.resources)) runBlocking { task.execute(Params( - userPasswordAuth = UserPasswordAuth(password = password), + userInteractiveAuthInterceptor = object : UserInteractiveAuthInterceptor { + override fun performStage(flowResponse: RegistrationFlowResponse, errCode: String?, promise: Continuation) { + promise.resume( + UserPasswordAuth( + user = existingSession!!.myUserId, + password = password, + session = flowResponse.session + ) + ) + } + }, passphrase = passphrase, setupMode = SetupMode.NORMAL ))