1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-20 21:38:26 +00:00

test(core): T3T1 ShowDeviceTutorial

[no changelog]
This commit is contained in:
Martin Milata 2024-07-09 01:41:29 +02:00
parent 1c9f925418
commit c857fcdc2f
3 changed files with 74 additions and 0 deletions

View File

@ -0,0 +1,37 @@
# This file is part of the Trezor project.
#
# Copyright (C) 2012-2024 SatoshiLabs and contributors
#
# This library is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the License along with this library.
# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
import pytest
from trezorlib import device
from trezorlib.debuglink import TrezorClientDebugLink as Client
from ..input_flows import InputFlowTutorial
# TODO not initialized?
@pytest.mark.setup_client(uninitialized=True)
@pytest.mark.skip_t1b1
@pytest.mark.skip_t2b1
@pytest.mark.skip_t2t1
@pytest.mark.parametrize("cancel", (True, False))
def test_tutorial_t3t1(client: Client, cancel: bool):
with client:
IF = InputFlowTutorial(client, cancel=cancel)
client.set_input_flow(IF.get())
device.show_device_tutorial(client)
assert client.features.initialized is False

View File

@ -2293,3 +2293,30 @@ class InputFlowConfirmAllWarnings(InputFlowBase):
else:
self.debug.press_yes()
br = yield
class InputFlowTutorial(InputFlowBase):
def __init__(self, client: Client, cancel: bool = False):
super().__init__(client)
self.cancel = cancel
def input_flow_t3t1(self) -> BRGeneratorType:
yield
self.debug.click(buttons.TAP_TO_CONFIRM, wait=True)
self.debug.swipe_up(wait=True)
self.debug.swipe_up(wait=True)
if self.cancel:
self.debug.click(buttons.CORNER_BUTTON, wait=True)
self.debug.click(buttons.VERTICAL_MENU[0], wait=True)
self.debug.click(buttons.CORNER_BUTTON, wait=True)
self.debug.click(buttons.VERTICAL_MENU[1], wait=True)
self.debug.swipe_up(wait=True)
self.debug.swipe_up(wait=True)
self.debug.click(buttons.CORNER_BUTTON, wait=True)
self.debug.click(buttons.VERTICAL_MENU[2], wait=True)
self.debug.click(buttons.TAP_TO_CONFIRM, wait=True)
self.debug.swipe_up(wait=True)
else:
self.debug.swipe_up(wait=True)
self.debug.click(buttons.TAP_TO_CONFIRM, wait=True)
self.debug.swipe_up(wait=True)

View File

@ -16833,6 +16833,8 @@
"T3T1_cs_test_msg_sd_protect.py::test_enable_disable": "8da52dc761d4eacb3a863864b948d5a572980563118b456527acbd05ef126af4",
"T3T1_cs_test_msg_sd_protect.py::test_refresh": "a6f842c917efdd62369a4f911fd5061d1e39c5557d0daf1b7af4a4ecbaccaa00",
"T3T1_cs_test_msg_sd_protect.py::test_wipe": "59c3fe698e1b61c7d8d58258764d80bb41e94ef248688bc4ce287e3a5cbf9bbd",
"T3T1_cs_test_msg_show_device_tutorial.py::test_tutorial_t3t1[False]": "49b728c5299c3f8ceeed9595dd407c6940cc7bde3c77e34e22cce90262b1f44a",
"T3T1_cs_test_msg_show_device_tutorial.py::test_tutorial_t3t1[True]": "a459905ea805dd3b02e7748bdfd6c641a005ab6b22a13d74c75b2281a4aa5e51",
"T3T1_cs_test_msg_wipedevice.py::test_autolock_not_retained": "f4bec18c2bc8fa5b78154cc654e5ebe72b490672b2fe85be9e3d835f9f6787f3",
"T3T1_cs_test_msg_wipedevice.py::test_wipe_device": "40a7391636fb753cb23571e00f1bf2259b159c5917b1f2f62fd15470b1156516",
"T3T1_cs_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "f0f5d5aa30d7d5cd8da49fef8ad632f6055b22826418728a5502b3e0f909fc0f",
@ -18178,6 +18180,8 @@
"T3T1_de_test_msg_sd_protect.py::test_enable_disable": "b72176473ecb6213e331528b2624a3fabc5ed8e669a73b4cd25ba58232365984",
"T3T1_de_test_msg_sd_protect.py::test_refresh": "f9335bfc0cc27036a247e9e898a0c984a8e9aa34a90bbede111221ba4ef1b284",
"T3T1_de_test_msg_sd_protect.py::test_wipe": "93cdc75a6112304054f645d19c0ef17fc32bd2f1e3abf7b2b90a3d204c72a328",
"T3T1_de_test_msg_show_device_tutorial.py::test_tutorial_t3t1[False]": "9ca49844a75ac43f361232a76fe360f5ec1652a05f6c427f35b687798151b102",
"T3T1_de_test_msg_show_device_tutorial.py::test_tutorial_t3t1[True]": "b74617a1a728933e965d6964b5502be7b3ca9a3227d23623ad07a2ed18eb9117",
"T3T1_de_test_msg_wipedevice.py::test_autolock_not_retained": "000904338e45c805390ee084831438abace2c8f8020aa054ac929e6bd21ce522",
"T3T1_de_test_msg_wipedevice.py::test_wipe_device": "ee901f817ed7a3c6038b9c32eee7c8e7843fdcdadbd2d5633de9978dcb9ba469",
"T3T1_de_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "179ffe4191ed9e8e281f68dcf259269312aed11903fea363c6fd326e2784b64d",
@ -19523,6 +19527,8 @@
"T3T1_en_test_msg_sd_protect.py::test_enable_disable": "ef4a453a3b9fea0482efbfe81211d0d144d53ecaa3cda7089dadadd03bfd9d6b",
"T3T1_en_test_msg_sd_protect.py::test_refresh": "030f7ca3d8ed718340b2311f66af1adea2cfc685f6a94ca07abda09f79f7fe5a",
"T3T1_en_test_msg_sd_protect.py::test_wipe": "0a8bcb6567ecbfadb48f0bde53367a383faa6796354fa2de04ede1cc08da64d4",
"T3T1_en_test_msg_show_device_tutorial.py::test_tutorial_t3t1[False]": "2f39eedba0ef8010f232b77606c453e06e63c74a54f08117a60066d64412e589",
"T3T1_en_test_msg_show_device_tutorial.py::test_tutorial_t3t1[True]": "8908a0d44786f8d60477d04f54dbdb28a059358bc04f093daf4129c89e6b529b",
"T3T1_en_test_msg_wipedevice.py::test_autolock_not_retained": "afc88dd78d678a5438a060572e1738ae2186894a2952aaee59b29ff92831d403",
"T3T1_en_test_msg_wipedevice.py::test_wipe_device": "2f83c328124f022f5a8b8e27a56cd9b8e520d23db8a91ec0bf72f463ed198d31",
"T3T1_en_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "6def6c3c6ecd03c7345cce0ab75f71e9e76b45e047f1026b8149f6676048d748",
@ -20868,6 +20874,8 @@
"T3T1_es_test_msg_sd_protect.py::test_enable_disable": "c61dc1ac8bcd22c99901925d03e0525a3d6ce151b4fcffa4aff6e3a3ba40e7da",
"T3T1_es_test_msg_sd_protect.py::test_refresh": "8a0af022678a5340f20619d38cecfeacc5d1c3cba0a205a5e0593f8eedbbbb82",
"T3T1_es_test_msg_sd_protect.py::test_wipe": "c61091b534a94f870c937819d6cc81005dbd5aab7acbcaed8eddfaa4393b77e9",
"T3T1_es_test_msg_show_device_tutorial.py::test_tutorial_t3t1[False]": "324856403c2cc8a54f9ba167845e37e8adb8f7ecbc212227aa3422aeec6b05c0",
"T3T1_es_test_msg_show_device_tutorial.py::test_tutorial_t3t1[True]": "c7f6ff6fc460b7e310c1ca1c1e2b07a208e8deca1c99f74a2cce91c2a16a1b5b",
"T3T1_es_test_msg_wipedevice.py::test_autolock_not_retained": "201d5b07bb64be2b607bb22ae004c8369391123e360481db835842ee73b49da4",
"T3T1_es_test_msg_wipedevice.py::test_wipe_device": "2c28b43c64a91f6ced3f7db4f06ddb1b347d932f95b0cb1aa0518cae5ca5c0cf",
"T3T1_es_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "3034969f1ef1dd6ba774b7ea5828066b7688da1efb1d89fe86bd0ed657cc387b",
@ -22213,6 +22221,8 @@
"T3T1_fr_test_msg_sd_protect.py::test_enable_disable": "769a5349ecd4f2140187f0789c8b300f34d63b54606e4e6bb8454268cad39e32",
"T3T1_fr_test_msg_sd_protect.py::test_refresh": "c7d2f2c025a11857c453507b0ccd5c3ff4b00103d91adfe39e67bd2a51556085",
"T3T1_fr_test_msg_sd_protect.py::test_wipe": "4a38e7cbed38d10ff2f7a24d6788cdd20a75057f2e70c583b938c42d8ef98dcf",
"T3T1_fr_test_msg_show_device_tutorial.py::test_tutorial_t3t1[False]": "8367ee29080faf467cde999256920cc18e3d0238e05dee16b4502519443b2263",
"T3T1_fr_test_msg_show_device_tutorial.py::test_tutorial_t3t1[True]": "88c706fa341925c54fbab47e335a596a8ec0880c9312701e78ae37bcdad18e36",
"T3T1_fr_test_msg_wipedevice.py::test_autolock_not_retained": "41a16c6f838b79b53b2bca3f2bb73410bb26320e92477eea6732ce3cdca20074",
"T3T1_fr_test_msg_wipedevice.py::test_wipe_device": "9fb4e1ccdc0df2f0c2e597e35e44391c3582f2ffb3c364c15de37ca29fbed4b8",
"T3T1_fr_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "e66c1e71edd702b180073acf2fc7629c1eb51f50f7d3d0f4e5843abd2fab3c2f",