diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png index b90315cd..041a6a84 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png index 3d90dfd9..b90315cd 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png index f5c2d677..3d90dfd9 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png index ce795f34..f5c2d677 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png new file mode 100644 index 00000000..ce795f34 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_personal_sign_metamask/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png index dc3315f7..041a6a84 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00000.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png index 5b3e16d4..dc3315f7 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00001.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png index 93165d02..5b3e16d4 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00002.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png index c923961c..93165d02 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00003.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png index f5c2d677..c923961c 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png index ce795f34..f5c2d677 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00005.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png new file mode 100644 index 00000000..ce795f34 Binary files /dev/null and b/tests/ragger/snapshots/nanos/test_personal_sign_non_ascii/00006.png differ diff --git a/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png b/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png index ab16f62b..041a6a84 100644 Binary files a/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png and b/tests/ragger/snapshots/nanos/test_personal_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png index b0936ada..a2e0c30b 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png index e7ffedd9..b0936ada 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png index 65788722..e7ffedd9 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png new file mode 100644 index 00000000..65788722 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_metamask/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png index c965f50b..a2e0c30b 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png index 234ab066..c965f50b 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png index e7ffedd9..234ab066 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png index 65788722..e7ffedd9 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png new file mode 100644 index 00000000..65788722 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png index e1159c54..a2e0c30b 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00000.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png index 3f761429..e1159c54 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00001.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png index 685ff399..3f761429 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00002.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png index 668a2a67..685ff399 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00003.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png index 1f135ae1..668a2a67 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00004.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png index a3799d23..1f135ae1 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00005.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png index f29ed004..a3799d23 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00006.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png index 8af3d9ca..f29ed004 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00007.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png index e7ffedd9..8af3d9ca 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00008.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png index 65788722..e7ffedd9 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00009.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png new file mode 100644 index 00000000..65788722 Binary files /dev/null and b/tests/ragger/snapshots/nanox/test_personal_sign_opensea/00010.png differ diff --git a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png index 1b271542..a2e0c30b 100644 Binary files a/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png and b/tests/ragger/snapshots/nanox/test_personal_sign_reject/00000.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png new file mode 100644 index 00000000..b1ff1b3a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_metamask/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png new file mode 100644 index 00000000..b1ff1b3a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_non_ascii/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png b/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png new file mode 100644 index 00000000..b1ff1b3a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_opensea/00005.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png index d4cf6afb..2f80635a 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png index df803b1a..83a0d80f 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png index b1ff1b3a..d4cf6afb 100644 Binary files a/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png new file mode 100644 index 00000000..df803b1a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png b/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png new file mode 100644 index 00000000..b1ff1b3a Binary files /dev/null and b/tests/ragger/snapshots/stax/test_personal_sign_reject/00005.png differ diff --git a/tests/ragger/test_eip191.py b/tests/ragger/test_eip191.py index 3fc9cbf8..0adc905c 100644 --- a/tests/ragger/test_eip191.py +++ b/tests/ragger/test_eip191.py @@ -8,15 +8,14 @@ from client.utils import recover_message from ragger.error import ExceptionRAPDU from ragger.backend import BackendInterface from ragger.firmware import Firmware -from ragger.navigator import Navigator, NavInsID +from ragger.navigator.navigation_scenario import NavigateWithScenario BIP32_PATH = "m/44'/60'/0'/0/0" -def test_personal_sign_metamask(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, +def test_personal_sign_metamask(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -29,22 +28,7 @@ def test_personal_sign_metamask(firmware: Firmware, _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) + scenario_navigator.review_approve(default_screenshot_path, test_name, "Sign") # verify signature vrs = ResponseParser.signature(app_client.response().data) @@ -52,9 +36,8 @@ def test_personal_sign_metamask(firmware: Firmware, assert addr == DEVICE_ADDR -def test_personal_sign_non_ascii(firmware: Firmware, - backend: BackendInterface, - navigator: Navigator, +def test_personal_sign_non_ascii(backend: BackendInterface, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -67,23 +50,7 @@ def test_personal_sign_non_ascii(firmware: Firmware, _, DEVICE_ADDR, _ = ResponseParser.pk_addr(app_client.response().data) with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_before_first_instruction=False, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) + scenario_navigator.review_approve(default_screenshot_path, test_name, "Sign") # verify signature vrs = ResponseParser.signature(app_client.response().data) @@ -93,7 +60,7 @@ def test_personal_sign_non_ascii(firmware: Firmware, def test_personal_sign_opensea(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -108,23 +75,7 @@ def test_personal_sign_opensea(firmware: Firmware, if firmware.device == "nanos": pytest.skip("Not supported on LNS") with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): - if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - initial_instructions = [NavInsID.RIGHT_CLICK] - # Skip 1st screen because 'Sign' is already present - navigator.navigate(initial_instructions, - screen_change_before_first_instruction=False, - screen_change_after_last_instruction=False) - else: - next_action = NavInsID.USE_CASE_REVIEW_TAP - confirm_action = NavInsID.USE_CASE_REVIEW_CONFIRM - - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Sign", - default_screenshot_path, - test_name) + scenario_navigator.review_approve(default_screenshot_path, test_name, "Sign") # verify signature vrs = ResponseParser.signature(app_client.response().data) @@ -134,7 +85,7 @@ def test_personal_sign_opensea(firmware: Firmware, def test_personal_sign_reject(firmware: Firmware, backend: BackendInterface, - navigator: Navigator, + scenario_navigator: NavigateWithScenario, test_name: str, default_screenshot_path: Path): @@ -145,21 +96,10 @@ def test_personal_sign_reject(firmware: Firmware, try: with app_client.personal_sign(BIP32_PATH, msg.encode('utf-8')): if firmware.device.startswith("nano"): - next_action = NavInsID.RIGHT_CLICK - confirm_action = NavInsID.BOTH_CLICK - navigator.navigate_until_text_and_compare(next_action, - [confirm_action], - "Cancel", - default_screenshot_path, - test_name) + end_text = "Cancel" else: - # instructions = [NavInsID.USE_CASE_REVIEW_TAP] - instructions = [NavInsID.USE_CASE_CHOICE_REJECT, - NavInsID.USE_CASE_CHOICE_CONFIRM, - NavInsID.USE_CASE_STATUS_DISMISS] - navigator.navigate_and_compare(default_screenshot_path, - test_name, - instructions) + end_text = "Sign" + scenario_navigator.review_reject(default_screenshot_path, test_name, end_text) except ExceptionRAPDU as e: assert e.status == StatusWord.CONDITION_NOT_SATISFIED