Fix verify with passphrase test
This commit is contained in:
parent
419673675c
commit
8606ac92e1
@ -20,7 +20,6 @@ import android.view.View
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.test.espresso.Espresso.onView
|
import androidx.test.espresso.Espresso.onView
|
||||||
import androidx.test.espresso.action.ViewActions.click
|
import androidx.test.espresso.action.ViewActions.click
|
||||||
import androidx.test.espresso.action.ViewActions.closeSoftKeyboard
|
|
||||||
import androidx.test.espresso.action.ViewActions.typeText
|
import androidx.test.espresso.action.ViewActions.typeText
|
||||||
import androidx.test.espresso.assertion.ViewAssertions.matches
|
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||||
import androidx.test.espresso.contrib.RecyclerViewActions.actionOnItem
|
import androidx.test.espresso.contrib.RecyclerViewActions.actionOnItem
|
||||||
@ -33,18 +32,19 @@ import androidx.test.ext.junit.rules.ActivityScenarioRule
|
|||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
import androidx.test.filters.LargeTest
|
import androidx.test.filters.LargeTest
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import com.adevinta.android.barista.internal.viewaction.SleepViewAction
|
|
||||||
import im.vector.app.core.resources.StringProvider
|
import im.vector.app.core.resources.StringProvider
|
||||||
import im.vector.app.core.utils.getMatrixInstance
|
import im.vector.app.core.utils.getMatrixInstance
|
||||||
|
import im.vector.app.espresso.tools.waitUntilActivityVisible
|
||||||
|
import im.vector.app.espresso.tools.waitUntilViewVisible
|
||||||
import im.vector.app.features.MainActivity
|
import im.vector.app.features.MainActivity
|
||||||
import im.vector.app.features.crypto.quads.SharedSecureStorageActivity
|
import im.vector.app.features.crypto.quads.SharedSecureStorageActivity
|
||||||
import im.vector.app.features.crypto.recover.BootstrapCrossSigningTask
|
import im.vector.app.features.crypto.recover.BootstrapCrossSigningTask
|
||||||
import im.vector.app.features.crypto.recover.Params
|
import im.vector.app.features.crypto.recover.Params
|
||||||
import im.vector.app.features.crypto.recover.SetupMode
|
import im.vector.app.features.crypto.recover.SetupMode
|
||||||
import im.vector.app.features.home.HomeActivity
|
import im.vector.app.features.home.HomeActivity
|
||||||
|
import im.vector.app.ui.robot.AnalyticsRobot
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
import org.junit.Ignore
|
|
||||||
import org.junit.Rule
|
import org.junit.Rule
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
@ -59,7 +59,6 @@ import kotlin.random.Random
|
|||||||
|
|
||||||
@RunWith(AndroidJUnit4::class)
|
@RunWith(AndroidJUnit4::class)
|
||||||
@LargeTest
|
@LargeTest
|
||||||
@Ignore
|
|
||||||
class VerifySessionPassphraseTest : VerificationTestBase() {
|
class VerifySessionPassphraseTest : VerificationTestBase() {
|
||||||
|
|
||||||
var existingSession: Session? = null
|
var existingSession: Session? = null
|
||||||
@ -120,40 +119,39 @@ class VerifySessionPassphraseTest : VerificationTestBase() {
|
|||||||
|
|
||||||
uiTestBase.login(userId = userId, password = password, homeServerUrl = homeServerUrl)
|
uiTestBase.login(userId = userId, password = password, homeServerUrl = homeServerUrl)
|
||||||
|
|
||||||
// Thread.sleep(6000)
|
val analyticsRobot = AnalyticsRobot()
|
||||||
withIdlingResource(activityIdlingResource(HomeActivity::class.java)) {
|
analyticsRobot.optOut()
|
||||||
onView(withId(R.id.roomListContainer))
|
|
||||||
.check(matches(isDisplayed()))
|
waitUntilActivityVisible<HomeActivity> {
|
||||||
.perform(closeSoftKeyboard())
|
waitUntilViewVisible(withId(R.id.roomListContainer))
|
||||||
}
|
}
|
||||||
|
|
||||||
val activity = EspressoHelper.getCurrentActivity()!!
|
val activity = EspressoHelper.getCurrentActivity()!!
|
||||||
val uiSession = (activity as HomeActivity).activeSessionHolder.getActiveSession()
|
val uiSession = (activity as HomeActivity).activeSessionHolder.getActiveSession()
|
||||||
|
|
||||||
withIdlingResource(initialSyncIdlingResource(uiSession)) {
|
withIdlingResource(initialSyncIdlingResource(uiSession)) {
|
||||||
onView(withId(R.id.roomListContainer))
|
waitUntilViewVisible(withId(R.id.roomListContainer))
|
||||||
.check(matches(isDisplayed()))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// THIS IS THE ONLY WAY I FOUND TO CLICK ON ALERTERS... :(
|
// THIS IS THE ONLY WAY I FOUND TO CLICK ON ALERTERS... :(
|
||||||
// Cannot wait for view because of alerter animation? ...
|
// Cannot wait for view because of alerter animation? ...
|
||||||
Thread.sleep(6000)
|
onView(isRoot())
|
||||||
|
.perform(waitForView(withId(com.tapadoo.alerter.R.id.llAlertBackground)))
|
||||||
|
|
||||||
|
Thread.sleep(1000)
|
||||||
val popup = activity.findViewById<View>(com.tapadoo.alerter.R.id.llAlertBackground)
|
val popup = activity.findViewById<View>(com.tapadoo.alerter.R.id.llAlertBackground)
|
||||||
activity.runOnUiThread {
|
activity.runOnUiThread {
|
||||||
popup.performClick()
|
popup.performClick()
|
||||||
}
|
}
|
||||||
|
|
||||||
onView(withId(R.id.bottomSheetFragmentContainer))
|
onView(isRoot())
|
||||||
|
.perform(waitForView(withId(R.id.bottomSheetFragmentContainer)))
|
||||||
|
|
||||||
|
onView(withText(R.string.verification_verify_identity))
|
||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
|
|
||||||
onView(isRoot()).perform(SleepViewAction.sleep(2000))
|
// 4S is setup so passphrase option should be visible
|
||||||
|
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
||||||
onView(withText(R.string.use_latest_app))
|
.check(matches((hasDescendant(withText(R.string.verification_cannot_access_other_session)))))
|
||||||
.check(matches(isDisplayed()))
|
|
||||||
|
|
||||||
// 4S is not setup so passphrase option should be hidden
|
|
||||||
onView(withId(R.id.bottomSheetFragmentContainer))
|
|
||||||
.check(matches(hasDescendant(withText(R.string.verification_cannot_access_other_session))))
|
|
||||||
|
|
||||||
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
||||||
.perform(
|
.perform(
|
||||||
@ -178,11 +176,18 @@ class VerifySessionPassphraseTest : VerificationTestBase() {
|
|||||||
withIdlingResource(activityIdlingResource(HomeActivity::class.java)) {
|
withIdlingResource(activityIdlingResource(HomeActivity::class.java)) {
|
||||||
System.out.println("*** passphrase 1.1")
|
System.out.println("*** passphrase 1.1")
|
||||||
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
||||||
.check(
|
.perform(waitForView(hasDescendant(withText(R.string.verification_conclusion_ok_notice))))
|
||||||
matches(hasDescendant(withText(R.string.verification_conclusion_ok_self_notice)))
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// click on done
|
||||||
|
onView(withId(R.id.bottomSheetVerificationRecyclerView))
|
||||||
|
.perform(
|
||||||
|
actionOnItem<RecyclerView.ViewHolder>(
|
||||||
|
hasDescendant(withText(R.string.done)),
|
||||||
|
click()
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
System.out.println("*** passphrase 2")
|
System.out.println("*** passphrase 2")
|
||||||
// check that all secrets are known?
|
// check that all secrets are known?
|
||||||
assert(uiSession.cryptoService().crossSigningService().canCrossSign())
|
assert(uiSession.cryptoService().crossSigningService().canCrossSign())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user