From ee8a29d38d6c917cdbd25dbc01c8b83ae7d45fce Mon Sep 17 00:00:00 2001 From: Francois Beutin Date: Mon, 24 Jun 2024 11:44:24 +0200 Subject: [PATCH] Add tests for TX rejection --- .../python/apps/exchange_navigation_helper.py | 2 +- .../snapshots/nanos/test_rejection/00000.png | Bin 0 -> 374 bytes .../snapshots/nanos/test_rejection/00001.png | Bin 0 -> 384 bytes .../snapshots/nanos/test_rejection/00002.png | Bin 0 -> 352 bytes .../snapshots/nanos/test_rejection/00003.png | Bin 0 -> 283 bytes .../snapshots/nanos/test_rejection/00004.png | Bin 0 -> 332 bytes .../snapshots/nanos/test_rejection/00005.png | Bin 0 -> 319 bytes .../snapshots/nanos/test_rejection/00006.png | Bin 0 -> 414 bytes .../snapshots/nanos/test_rejection/00007.png | Bin 0 -> 340 bytes .../snapshots/nanos/test_rejection/00008.png | Bin 0 -> 367 bytes .../snapshots/nanos/test_rejection/00009.png | Bin 0 -> 367 bytes .../snapshots/nanosp/test_rejection/00000.png | Bin 0 -> 414 bytes .../snapshots/nanosp/test_rejection/00001.png | Bin 0 -> 455 bytes .../snapshots/nanosp/test_rejection/00002.png | Bin 0 -> 396 bytes .../snapshots/nanosp/test_rejection/00003.png | Bin 0 -> 324 bytes .../snapshots/nanosp/test_rejection/00004.png | Bin 0 -> 359 bytes .../snapshots/nanosp/test_rejection/00005.png | Bin 0 -> 472 bytes .../snapshots/nanosp/test_rejection/00006.png | Bin 0 -> 366 bytes .../snapshots/nanosp/test_rejection/00007.png | Bin 0 -> 391 bytes .../snapshots/nanosp/test_rejection/00008.png | Bin 0 -> 391 bytes .../snapshots/nanox/test_rejection/00000.png | Bin 0 -> 414 bytes .../snapshots/nanox/test_rejection/00001.png | Bin 0 -> 455 bytes .../snapshots/nanox/test_rejection/00002.png | Bin 0 -> 396 bytes .../snapshots/nanox/test_rejection/00003.png | Bin 0 -> 324 bytes .../snapshots/nanox/test_rejection/00004.png | Bin 0 -> 359 bytes .../snapshots/nanox/test_rejection/00005.png | Bin 0 -> 472 bytes .../snapshots/nanox/test_rejection/00006.png | Bin 0 -> 366 bytes .../snapshots/nanox/test_rejection/00007.png | Bin 0 -> 391 bytes .../snapshots/nanox/test_rejection/00008.png | Bin 0 -> 391 bytes .../snapshots/stax/test_rejection/00000.png | Bin 0 -> 11379 bytes .../snapshots/stax/test_rejection/00001.png | Bin 0 -> 13218 bytes .../snapshots/stax/test_rejection/00002.png | Bin 0 -> 12248 bytes .../snapshots/stax/test_rejection/00003.png | Bin 0 -> 8186 bytes .../snapshots/stax/test_rejection/00004.png | Bin 0 -> 5553 bytes .../snapshots/stax/test_rejection/00005.png | Bin 0 -> 11817 bytes .../snapshots/stax/test_rejection/00006.png | Bin 0 -> 11817 bytes test/python/test_rejection.py | 81 ++++++++++++++++++ 37 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 test/python/snapshots/nanos/test_rejection/00000.png create mode 100644 test/python/snapshots/nanos/test_rejection/00001.png create mode 100644 test/python/snapshots/nanos/test_rejection/00002.png create mode 100644 test/python/snapshots/nanos/test_rejection/00003.png create mode 100644 test/python/snapshots/nanos/test_rejection/00004.png create mode 100644 test/python/snapshots/nanos/test_rejection/00005.png create mode 100644 test/python/snapshots/nanos/test_rejection/00006.png create mode 100644 test/python/snapshots/nanos/test_rejection/00007.png create mode 100644 test/python/snapshots/nanos/test_rejection/00008.png create mode 100644 test/python/snapshots/nanos/test_rejection/00009.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00000.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00001.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00002.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00003.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00004.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00005.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00006.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00007.png create mode 100644 test/python/snapshots/nanosp/test_rejection/00008.png create mode 100644 test/python/snapshots/nanox/test_rejection/00000.png create mode 100644 test/python/snapshots/nanox/test_rejection/00001.png create mode 100644 test/python/snapshots/nanox/test_rejection/00002.png create mode 100644 test/python/snapshots/nanox/test_rejection/00003.png create mode 100644 test/python/snapshots/nanox/test_rejection/00004.png create mode 100644 test/python/snapshots/nanox/test_rejection/00005.png create mode 100644 test/python/snapshots/nanox/test_rejection/00006.png create mode 100644 test/python/snapshots/nanox/test_rejection/00007.png create mode 100644 test/python/snapshots/nanox/test_rejection/00008.png create mode 100644 test/python/snapshots/stax/test_rejection/00000.png create mode 100644 test/python/snapshots/stax/test_rejection/00001.png create mode 100644 test/python/snapshots/stax/test_rejection/00002.png create mode 100644 test/python/snapshots/stax/test_rejection/00003.png create mode 100644 test/python/snapshots/stax/test_rejection/00004.png create mode 100644 test/python/snapshots/stax/test_rejection/00005.png create mode 100644 test/python/snapshots/stax/test_rejection/00006.png create mode 100644 test/python/test_rejection.py diff --git a/test/python/apps/exchange_navigation_helper.py b/test/python/apps/exchange_navigation_helper.py index 1313430d..1b5951c1 100644 --- a/test/python/apps/exchange_navigation_helper.py +++ b/test/python/apps/exchange_navigation_helper.py @@ -38,7 +38,7 @@ def _navigate_and_compare(self, accept: bool): # Don't try to assert the "Processing" spinner on stax screen_change_after_last_instruction = False else: - validation_instructions = [NavInsID.USE_CASE_REVIEW_REJECT, NavInsID.USE_CASE_CHOICE_CONFIRM] + validation_instructions = [NavInsID.USE_CASE_REVIEW_REJECT, NavInsID.USE_CASE_CHOICE_CONFIRM, NavInsID.USE_CASE_STATUS_DISMISS] self._navigator.navigate_until_text_and_compare(navigate_instruction=navigate_instruction, validation_instructions=validation_instructions, diff --git a/test/python/snapshots/nanos/test_rejection/00000.png b/test/python/snapshots/nanos/test_rejection/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..8d84cc70fea8013b7e8b25c0982ce142fa103d5c GIT binary patch literal 374 zcmV-+0g3*JP)K?4J2QqX3 zXn7ePqhBDwvA-|J28LIrjF%tX0z{3v6!_gF&(SYH)S*7TN;1RxW-%}TLH9_+sttDO z-T32w&rL(!1@Vr`jm5G(8dd=Ruu#)JAN?l#rFLU`oQ(r?$33AC7s0}pw!fi~(9k^# zU9aci?pXN=I7A<-f!Mw2untnw9MivqZYw}c5&)gweYhbTnv#2#t$0X2wST7_1F;LR zw?>Da2SkSfG>qWq1mej-6nW@2l+Z=0om5jdB%3o3Qx19_LNUlTqF4R_1Iaj%@^2O= z@;n%h1N>H$2;%-~Dvx1!0LtkT-;cq73rgisOElFtPbcL{d3TfNQvm<~003s>1*i4o Uje8$F8UO$Q07*qoM6N<$g5rpv%m4rY literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_rejection/00001.png b/test/python/snapshots/nanos/test_rejection/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..ba13fff8fbee5cf63282ec1e8e43005575e224d3 GIT binary patch literal 384 zcmV-`0e}99P)^8t|TRAuWVQ9>nMz004l0WosIJ9)YA?Iz-qLlnE7Z z-;iNEv9@<-dEUT7OZOY|ufnFIJc;zJ=zwz4ax#k(`R2A~ox8Y~p`6F}`b?BhgJe&AQc?DMh4Q8C$W&89iZ2 zt;nzyT&E@}c8)4r-h^QfaFi1)_7{+K1(0aVnYJU(tK8*TxZmz8FoOp~I#B6jMEw!~ e00000sQCbF=;FM}Tw$jG0000UC9$1!a_p&&;inu_jV|$>0r4IWyW6**SMeQylXb(~#x8kT zJMeUTXMj9y;%rb-AxWBJK9$HPs&sV_*qSAxnNm7TwV9-l43O zl5hrN(y@`tC8e)E1+iocJ>`4%AC>MZBum*-YUY%l%Jy?gQ}BV}SUiP0Dp(0$1igi! zm2gXqx~QAW5b1o@f<8c?0cdm%+qH*;Q@IRo-Y&j-K~+ZfsLv(hYXgxDlLufV)sMF> yEbaiE(8!c0Z+0qKQU0gJ(()cc2qAvBD6y0x6J0m0b0Q+LDsMf37RUY=`psw_Yl_nE z@<{++>k0G_68GEh`g+wC>FI4ualC^cb7>tj8E)lJcc-Vfn) zNQSwd5~#$h^apqiS?LdxiCXCorh8yXRmjpaqMX3miLr$8iRfUH=Uf h4h)?oA|fIpcuq*SX=cBlkiGx_002ovPDHLkV1muha?bz& literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_rejection/00004.png b/test/python/snapshots/nanos/test_rejection/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..d24105bc6684a9a50c14699b0bf5cac670973f28 GIT binary patch literal 332 zcmV-S0ki&zP)sT0=kq5hVfu0B}_{PvfuW?st2vYO5NGW~Q(R zRHLo%qUo%#0Q^c@`C!VWEhg{8-O;v=nxXB86kuF5ohPtlW#_}F$|B&m3A}eeyKu z!xRPziEB@`#PrP1T=KwHUhh+q0QAhI_I@rDSHt@!gBW;%D&)!D$>KFMR!{a}cwtr> z%7AMLI3*L`wr2mqC&PwLdlUW_g588W3}2y{SQ7FCz*suj84wN~yfut(9A;>O>Y zrhhn-H0pfq_9i?sE!R2*01N{Fh5-P>0Qf>xSE@Z!*#|E=d8s0V5JCtkvjg3gShPF` R*6#oS002ovPDHLkV1nIijsySz literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_rejection/00006.png b/test/python/snapshots/nanos/test_rejection/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9156c31edf73cb072eaebf2db3fbe1ba5c612b GIT binary patch literal 414 zcmV;P0b%}$P)j~f|{k#}B z4)Di%0(GQh%XXzDG$sKK-Q2JkKR-`QsiPFD-4d_!i{fwH;J|_aEL%ZYNu#B0FJ7G| z;=_VQWOA9;dQ4Y9)LpKCV=ri`X({49JagUwO3&5UdSK)wEJxPN%9wG}45n;lzK(aC zKtbL$y*-#9uSql`7 zENOEh^0jsFWbV&<+yj5)WEX_aERLO-`${sQhD#B5ZCio#Fr4qHlr^7X|9DL69eFa= z#kf#}$Pcl(QEE=tNl8Pt$o;~Fk*8r@j8mpwSGW8d!1&11FbzPh@^gWj=oh7f%f7G)4s^6#xJL07*qo IM6N<$g02I(Gynhq literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanos/test_rejection/00007.png b/test/python/snapshots/nanos/test_rejection/00007.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7e7049cb3e9bcfb1601ec510ee465d38229d4d GIT binary patch literal 340 zcmV-a0jvIrP)b=%MgRq*37h4eRxPbkJCLY|1VIo49_}P}TKpH4$L<8?X{t;p zy+UQc_4@p%0?~E_&igM#?#L~IOHR(-<@sYotiy&C*Y&GII0yeh-p3zW9cv$Q0k>6Y_)5~SfP=m zSMUtz)%Ex|-o}7!H9hbQ(8{%C?kQVa?C`*Uj-J(h>P7(Y#?ZWvi?6}@n{fGLp>YTp myqR(V_$?>^<%seR_VWh!FKR_EmkR81A^c*O;tGrCLNUFwG*=R`Xh|jbfxn=D{Uy81^r#!;7sJlQ%fbhFv z{OMwsKORvZPW3Zr1Du7+>_jyM2K<X?HP|KLs=qP~!1To{iNp_zd7I#_3*XL6nRa zdIBqyWwO)7GG%|h2=J6At5r<>$MI>=&FKR_EmkR81A^c*O;tGrCLNUFwG*=R`Xh|jbfxn=D{Uy81^r#!;7sJlQ%fbhFv z{OMwsKORvZPW3Zr1Du7+>_jyM2K<X?HP|KLs=qP~!1To{iNp_zd7I#_3*XL6nRa zdIBqyWwO)7GG%|h2=J6At5r<>$MI>=&vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*Hj^o3I>9LvTXnW0Kn~jLZ$b8FTYbt(Tbre zU*fN$&f0mr`CjQ6fTBDQDJA)PJ9t(a%ha!SdIc3L8c|ly$8CGuOUaV$CP~8$ykc%77c%ZA0DY6qLtYjz@bVI+|YdcIb*}sjGYO;Sb#^6cJ xLQi5HeiG>g0000000000000000002q<{wcIWIY559-aUI002ovPDHLkV1nq6$ASO= literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_rejection/00002.png b/test/python/snapshots/nanosp/test_rejection/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0f7d733e56de24ee96c3ba4c9189b278b2bf2e GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|a?NGfc}2!>t@r-|(JV7gpj|DG!g$|K%Xq@ODNlL+ zrS!7JT?_UXWxo7(>he+5-M44&wJtP&`|bFbsCE>W`tiu2R literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_rejection/00003.png b/test/python/snapshots/nanosp/test_rejection/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..260ef5524807f4f02a65ca8106459a3ddcd8ef86 GIT binary patch literal 324 zcmV-K0lWT*P)P@)+k+@42NERZFW0b}W^u1M_L=pOf2ZFZ^003_HHF^M7<(%uwl+vh? z{6{(GrT~BS<>7ut58z#O)+wd^vb>0YqfAzSJ>QaSopPD@dkx}8Uwn@qK%Y9+da_T{ za~hM~0f%Op?1v`118P&}zMFm<+APA&n`;ya0AM{qx1ood&aRzk^O5~%pE}bf_s7dC z=MZ7fDklCXyqkJ<$2|+uJx1zkL0!KV%?d5(TzN<^dK6EsP=J#O9z6Z+aSezw;){Kw zJOVpeFhZ>*FXD~dE0^&!Wa;1LAZqE~ObtfTg+_W2vKoApcmV(a000000002sV}1cR W44c&8g_U&x0000D>j8|YYI!OmRwMbH zm-PU)-7@c4fC5y?$0FBe9cd4oBMR0F$Ec;0LJP9xP5H(!+Id6Y>Yqp z#|xpGWU_ymMykpF#i)TLW+6+whb^5=@1PM}Um}v`s{WofzQn=K06P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000j&LwL#RobX?V zbQiII^4uMl|Z~1l7yy12MZ$b&j z?TtJM^{@JVDT&uHZn5nzWh-TPv_J7m;jgq0f(|YbTZHdAM)myZxO-=(=&Jp4l55=A zUQcBF*M05wg}=Y7bG1(&{&siyl(&8#-KTdql}}rLm3hWhy}m5glJN5fpDsOd=_5x% z{HDvZre)46&g0e%{pDoXaPf-VTe-XJSGLU(Jj!tDNp8H)+;exzHoZ2kko_Ba_xXNR zr;WUGZIbufwyah@qN*6%Wc!qrE&9UV%v{IGH{4)eXE1ondwSC@^_ATTjUX{kS3j3^ HP6G=VALcU%u^f&F9wV?8W~gO#c3wy7cp|)u%I- zE)Z~%>E6HYxborW7GEZYaot*b&c?U28|OUz}>J>B7D0P_oA#POai>8&i%e;&Z8>M;9a>X^5~lT7WeYZd>nPP^4|*| iFmZXc02U|=2SWD!YGeB$vn=ZnNX*mK&t;ucLK6Vgp|4c{ literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanosp/test_rejection/00008.png b/test/python/snapshots/nanosp/test_rejection/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4d06b47832d0be7ec5e1f1098979d7d9499bab GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s~ba4!+nDh2#pir{{k89xV zmwq??PrBo6KO<3M!HiWimf!iDy42NM#VbY(s0juPj-38@G=VALcU%u^f&F9wV?8W~gO#c3wy7cp|)u%I- zE)Z~%>E6HYxborW7GEZYaot*b&c?U28|OUz}>J>B7D0P_oA#POai>8&i%e;&Z8>M;9a>X^5~lT7WeYZd>nPP^4|*| iFmZXc02U|=2SWD!YGeB$vn=ZnNX*mK&t;ucLK6Vgp|4c{ literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_rejection/00000.png b/test/python/snapshots/nanox/test_rejection/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..487ea10fcfeb2f3e6b79239459672251d49addd7 GIT binary patch literal 414 zcmV;P0b%}$P)vpO}&+|8}fC)JNq`>?#dJ%s{^>GN_4usXQirk{^@^BA?p!El9&T9q~zMsh2=YdLB`_ONiP zKy6XlUGFZ>Cn7mP3u*Hj^o3I>9LvTXnW0Kn~jLZ$b8FTYbt(Tbre zU*fN$&f0mr`CjQ6fTBDQDJA)PJ9t(a%ha!SdIc3L8c|ly$8CGuOUaV$CP~8$ykc%77c%ZA0DY6qLtYjz@bVI+|YdcIb*}sjGYO;Sb#^6cJ xLQi5HeiG>g0000000000000000002q<{wcIWIY559-aUI002ovPDHLkV1nq6$ASO= literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_rejection/00002.png b/test/python/snapshots/nanox/test_rejection/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..8b0f7d733e56de24ee96c3ba4c9189b278b2bf2e GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|a?NGfc}2!>t@r-|(JV7gpj|DG!g$|K%Xq@ODNlL+ zrS!7JT?_UXWxo7(>he+5-M44&wJtP&`|bFbsCE>W`tiu2R literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_rejection/00003.png b/test/python/snapshots/nanox/test_rejection/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..260ef5524807f4f02a65ca8106459a3ddcd8ef86 GIT binary patch literal 324 zcmV-K0lWT*P)P@)+k+@42NERZFW0b}W^u1M_L=pOf2ZFZ^003_HHF^M7<(%uwl+vh? z{6{(GrT~BS<>7ut58z#O)+wd^vb>0YqfAzSJ>QaSopPD@dkx}8Uwn@qK%Y9+da_T{ za~hM~0f%Op?1v`118P&}zMFm<+APA&n`;ya0AM{qx1ood&aRzk^O5~%pE}bf_s7dC z=MZ7fDklCXyqkJ<$2|+uJx1zkL0!KV%?d5(TzN<^dK6EsP=J#O9z6Z+aSezw;){Kw zJOVpeFhZ>*FXD~dE0^&!Wa;1LAZqE~ObtfTg+_W2vKoApcmV(a000000002sV}1cR W44c&8g_U&x0000D>j8|YYI!OmRwMbH zm-PU)-7@c4fC5y?$0FBe9cd4oBMR0F$Ec;0LJP9xP5H(!+Id6Y>Yqp z#|xpGWU_ymMykpF#i)TLW+6+whb^5=@1PM}Um}v`s{WofzQn=K06P)Nkl`l1;k+@4An6g^M6kcbtxu@7*hfO000000DuchDWw$aQJnB& zJ%BsK3VrpQ1hnYqoNY&PO0WdV>i`7cs)e_@w@x()p@w=B24`klR6(CLpxqtlZO|2 zIWjpO-F~*EHtLqUMt)Wc_@bMv^h#{CUFW0M(vJ1P=5N1GhWcHM(-Xu*&bc@D4_o$^ z7Y|pL)I@*DzttR=&yLH#^{|TW)8Sp0qphw%epiuSUG#WHS~ht|j~;`U4>BXmdi9@& zuz>%00000G5i7^TsbXePb2LB O0000j&LwL#RobX?V zbQiII^4uMl|Z~1l7yy12MZ$b&j z?TtJM^{@JVDT&uHZn5nzWh-TPv_J7m;jgq0f(|YbTZHdAM)myZxO-=(=&Jp4l55=A zUQcBF*M05wg}=Y7bG1(&{&siyl(&8#-KTdql}}rLm3hWhy}m5glJN5fpDsOd=_5x% z{HDvZre)46&g0e%{pDoXaPf-VTe-XJSGLU(Jj!tDNp8H)+;exzHoZ2kko_Ba_xXNR zr;WUGZIbufwyah@qN*6%Wc!qrE&9UV%v{IGH{4)eXE1ondwSC@^_ATTjUX{kS3j3^ HP6G=VALcU%u^f&F9wV?8W~gO#c3wy7cp|)u%I- zE)Z~%>E6HYxborW7GEZYaot*b&c?U28|OUz}>J>B7D0P_oA#POai>8&i%e;&Z8>M;9a>X^5~lT7WeYZd>nPP^4|*| iFmZXc02U|=2SWD!YGeB$vn=ZnNX*mK&t;ucLK6Vgp|4c{ literal 0 HcmV?d00001 diff --git a/test/python/snapshots/nanox/test_rejection/00008.png b/test/python/snapshots/nanox/test_rejection/00008.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4d06b47832d0be7ec5e1f1098979d7d9499bab GIT binary patch literal 391 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!2~2@x4h6`U|{s~ba4!+nDh2#pir{{k89xV zmwq??PrBo6KO<3M!HiWimf!iDy42NM#VbY(s0juPj-38@G=VALcU%u^f&F9wV?8W~gO#c3wy7cp|)u%I- zE)Z~%>E6HYxborW7GEZYaot*b&c?U28|OUz}>J>B7D0P_oA#POai>8&i%e;&Z8>M;9a>X^5~lT7WeYZd>nPP^4|*| iFmZXc02U|=2SWD!YGeB$vn=ZnNX*mK&t;ucLK6Vgp|4c{ literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00000.png b/test/python/snapshots/stax/test_rejection/00000.png new file mode 100644 index 0000000000000000000000000000000000000000..76d6b049c2da8c17037145f0f9aa43654c6f18db GIT binary patch literal 11379 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 D>?kOa literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00001.png b/test/python/snapshots/stax/test_rejection/00001.png new file mode 100644 index 0000000000000000000000000000000000000000..afe8d95cc11e18bcd185b469bec11b767eeaed34 GIT binary patch literal 13218 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 literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00002.png b/test/python/snapshots/stax/test_rejection/00002.png new file mode 100644 index 0000000000000000000000000000000000000000..c17d8a6c9c8fae124f5fba39d3d6cb4344cf60db GIT binary patch literal 12248 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 PXVTSr`~ZI6?$!SSDQmKR literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00003.png b/test/python/snapshots/stax/test_rejection/00003.png new file mode 100644 index 0000000000000000000000000000000000000000..9d261148b71ba30aa1b899c216415154b470fa1c GIT binary patch literal 8186 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 Jb`AdMKLBbBQ%?W@ literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00004.png b/test/python/snapshots/stax/test_rejection/00004.png new file mode 100644 index 0000000000000000000000000000000000000000..17d33d6e23eff3fae513ee7a5acf2bda76a9d55b GIT binary patch literal 5553 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 HizxgL)_KI? literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00005.png b/test/python/snapshots/stax/test_rejection/00005.png new file mode 100644 index 0000000000000000000000000000000000000000..3599465a5c5054789bac14ea66de7be1defd6dee GIT binary patch literal 11817 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 Q0cSDPH@#7N%{lIW05^oHkpKVy literal 0 HcmV?d00001 diff --git a/test/python/snapshots/stax/test_rejection/00006.png b/test/python/snapshots/stax/test_rejection/00006.png new file mode 100644 index 0000000000000000000000000000000000000000..3599465a5c5054789bac14ea66de7be1defd6dee GIT binary patch literal 11817 zcmeHtXIN8R*Cs|(5D*lk2?&ogHH2Q2_Mn0yO;8|o5CKD#76`p4h%^NO0V#q4(n1Ru zLK9Rs~AAj_FOV zlfoxiSXj6WZ{4t9VL9@gg#}d11_FM$YSvc8!Xme3cth`A=xgc>CAXw&ve{)((+XtF z7Q`k9N^nk$k$A`^3`!`L_?zua++!Ar?Y+?1_m;^8PX-phQFaw?rgK@WtU{iZYzOKT zspqGjU`gIOScI^!eE6%5r9#j7$es8uQ1S8DV}EmjIAVlZ`B_xiz$~6TP?k~g|LX<& z${|NsQWgTxTCWX=UWV-8?|~mA?;U_S@bVyzJIKrB_QU0B$Q_zeW^xyZFT6eKUjFBZ zH@kIBM6mP+*vY4P7C=u+SgE%D={L{7EZP)x+K1+ZMsfuaIo6`5|OxpRzo! zV^KObH8lh5)rgASP``Eg=&=UAnNrDoR2)?`c*xojKq?Sx}+r5V8>I{My_J-pN4jE8bl(T@S#fDrMMLH zj22xbL+2w!-x=_Yg^=!bHt_eOLHdIuX2KA)MqpApT6khb$n1;poqYfP4@PVi)|j*7 zDPlV}Ab(n;?3mqKIqRYoE=TC0ei-Jt3yTg;s$ayPjMl|)n^$>gd*ARYaIO!&tj7iH z!ydA0*%NQE@k0c}@d_u{Uf&vKo2qD?{^EFz%)bsrpfC!H`4A%Lmo(qb`}AKYXwW#xB%GXodO%)w^=uxk8r$&G)iAq zh&=}G8&`d4ZgM9SFf9IHfrJrz&Xd4UL_b&6?QpB=j4vs9{b&Nd+PU7?T~49d_`S4m z(4j0P|GJ7nr6;-j{6_#Wlfz10Uz*khM?|3=lc+g+hx3c6mw>Mt`dI5}Vn5Z8qv25L2UDrZZR#slxncn^0y%mY4$BD0L$#eFIvvn(^lsrrU&C_|Hq28UOBGYoc zkE8k>lK4P6l8oq}-82u<5RvSQf!LoZ!NW0obTa;TXoQh%@cYVN0q9-e+TZ8bSDcM2 z7L9!Z@16fmBXyRKzy_W;LUP7DRexW5!xsC5e~Jq4B&FL{{j#tegJWiVTSnxCu{WLH z__7DT9$DU?)0O>%>i%Zs-|xla(_tJ%*5-UwW1g!P&Ngh|T_POga4$ckkZgah+o0w6 zZqdl{XrR;*Gm3{bA1BQQB5hSw4m7L;pi^eP245|R6CbC-OCiTRU*pM|9kWz;CZwR| zhsJ82qG3j%5UG1>@1pv#>=dJGp@n3|G_P@nq+v#_(7Z;6Bho=s2a^FY8Ns>FL)FlJ zOB#wgQ$_Thm8hlf7tZQ`3pQGPq%jKV{fT}p&gLn>pwsVq9jr%og0cGxwN{sVlLwf4 zt4cyT=TyO=%)Jf<9p~;^J{Hw^z}%vFqHK{wU0vO(u>sQx6_Z4WI$Iot@hen+!tz$c zSx@NN{{G&SEe<{7TP8eK{dbaz39b}7MQtW{)0j~ry(pVF@uwwy5%lGt0Q8S=s8f%1 z@wYu}@K{Q>g38Fo^xH&i5DN0zoX)CNw%l=Fhrq;Iv-i|59T(`9B zoi~q4E9p}VtE~L9x2Jj#Eb>+YtCZ8f_K~gHk2rQ$h4cE31h!!x?ytE%jnNp#26I;H z2YY@71AlM*iPwOqrA*3rN#HqM3|RRma|OdRL@M4VBQ99SxeIB7lCL>OVrrk(S1H3K zRdWfoC9;2%KX2`+nAmCNZSD?;*ZuAMW@aHkQFlu#nzy(9eVn#8pIL_Fvl0bP>M7pY z&Qmt)RfUcWmRJV0wNh?9v~gD?VQweF*PY(b@ODQWe)Hk#z0#rhv{KS4 zzDU=hvyw3ee)bm@Q2ocPJwWN|e$=h-k2M(BlA5CV>&k}nqn%3nj)?y0_`xpG>yoZ9 zm6fw&Gxoo1lqT2hI(SGiM%MXAkipE^5|0(;d@N2a=+o{B!y(oF?dRV(7(t0PBIr`{^^V|{5nj3-%W)BE+ zk3P)!;=W}s=zZQ7xB!alx>n?FoAf3(OVaRQDnDLa7CY>}WF8?0;wWexzWu?2;M>wj zD#&!301oxuoxs9V(P`IJ$5ThE+x)U0pI=7*STvp4*%4sErCB@PI%frBzc`Wvb@ zGdvKe_T67|8eEI_?|d2dEHF^Q?&jntEOj?NCe@N*ItVag3F!@IS~vQ-1qxj<$d? z`2#O?^q6qkUwaQz{!97eV+bpuC48KXaT2q-8OE7vd#~bez~E$NTUW%i;m(ZSR2tL$ z@pf&ipsG9%l(ae*Zt+AETH`kabL$NAXqjRRx`mAX@}vfUFX;$gNb6=Yw~*Km_Y5;$ zK`%c03r}~qTnf56)^RD#m42xXj3rQl>G@P^hd#N!MHQ6w_IIOi{(Rh;(I0TyDs;5jV3$7LsFhVAQknB`V?yh~oe? zUqk;2Wv{oCtMy>)Ul1Q0;*VVuStpGf7V~fyd ze`DJ>NnO{H0f#7=>(-@3+Tu<;Y904b-}z0!sK0cF1aGguO?H|#?e`O4V^7BY?brpp z;}|9B6C2i%8+_TJb%WWzPFBD+?=-%kx_G^$n z{Zh|8BJ_kZwm}PTQs1L6?X6aGEc2q9FxoiVY%meBFxX&xTQ)=uXQ1#ot)!xA(9+TY zB7j!^#f&mDSB$6cMDzloPEoTvvUZBQ~YCudrE`AlYJG_^V+YmzhPr*|uZF%0iqocrBuH{vx# zA&{3T{up5|N>}8RQVxxY;_Y8W3>guS_<>BovpN6vnZ>Lk_*J77f z25(^18@ihOnySYG1b7vb5tSN;=Y%vV&8zX^w?^)nZc`YZH?RBDF8(-`7!R)H&%tRl zH$n-kVeNS+j<{lv`EmVc^V?zV*=`8T%!=HIrR(PhY}HpLVuLATuUk;kZp5}f94f|q(O^wc?N#j?XJro^A%L%R{fR#SWKp2TIpWeyam3WB z1&3qDNv@4W<~g%xYBF8CSqT>7(LFO%xaJ6~FJf5u>gM}xdt?cDF#}?5lO62#(T<<| z0j|fRlI#-QU|S;w!A8b#wTZ^Qn+1Y7g-u(VTiVKUEUdj5>)ywOAvm=^j1wzlC8V%{ zXP%WjH@Y^zwMF!;RxIm$RzGsPHQ%T+5UrwFV7hvpqV<4Kt7{_Wo{Hry2;?$8p58UQ zy0v8;#ny9YSg$Z2Mrd5A>}9P{SY$tkr=Lo^PPuTy?*Y;w+pPu%b?A{Ig!!eKYqfE3 z>t2?wv0eubhT7JQ@zFM%&e{A_!e7{i`QM>hVi@U19>f~kkzefsRuC^D1MT3d#BF^) zmknG~S*etBZ(XYn=GzkOrtHC34)Vk$Q{fmA4aZYj8Wx)KNH(0Bw}7YbhH5o`U1D~; ze@>`Hrh>6nRRH*n46j#Yi+z_hlm2nzv684T;J6#Fxp-dHHwTb3LCFg!ET}Z9Gd=Rf2;>YUGw8bg;oyh+B2RwTa1; zUw=jWX+_@!*r9N-C|}>)!vKKTX1P#y!x^`{-1W=wU1B_bBfWSiqILn8qUWW}?zDVm z+;%o}v8BoMl`WljT$~#}gX`r~RD`fIu85_>?ZT-oN^P;bZ6sR0wWDFiTi9fqsC$A- zsP&an*-EZK@gEvdwK>(vfV08Od?g2p^qTYOALbfBOvU=#o=~c3=l`Jr!DfU%ZDhLY z#wQ>xEVG2H14lznO>*RIy*}94dBIAf!6f9I+EV>vml7H6(#h!)fddK*+&*WWm zIKY4${!aX%Pyf$RX8%^?+Vxlkh2~)2RaPcu`ly{FZE53yV^K){>_4p=SxD~e>?|Y$ z304RnFI6O@mzUS|x!;xVcrrcG%A60Ka~E#F!^+(WZ<*>(AyR^Ov$h@ectQ)Uvln_U z&TNSmu1THP-BqpDNCRlX9lt_y`3L}wnAh=ikw6@fR#{pe!qd6%lPAIBIU;NH6IODs zAURk&h{z#4`S~v6NLWPw5#4C#_6pgPc>2%ow+4A%-Y!&K$=SW)Sy1m}X{m3%F?gBe zZMK4NB$C?ocy(Wr(PV@kPg5WX14vRzRTL)RKQzLLg02#Zi?LzAcoz;pQpoN{xJUjtDke($L4l zPc7e;o(i@eaH^6d+|~&CA?9X7a8EB;f@4&3&L+6nWTQ-ot;g)GHhobpQik{a#%tw9 zrY}IA2q0H5iSz+7N-6)U5q&C;`Ea(U6pct+{XIpsO75obcz3)FA2Ge{<=k)5qmdSZ zDS*v3Y~80UOZ4W_n3(9WO{df=_e*3asc?T0>^B>`$5;9ugelkOZY?KaUb?|2;4Ery>{oGUEdpCsyE^fiZ+rM|-o{4>-VAfFS=8^eTxuf(lO8;NRb$>u6ef=xPBOja#}CkP%F;+{j&jq`?D?vSFX_! zfd}tklYekE*5^&!Y}EV&vG3hz?svQ034MmcVYkr6)3>F)X6!SLE%N=E2wF!+>S)%k z?2+7&1>_PdF4*ent?teSnh04A+rWQa$(6p5O}&GW&EH#FVy{jNwu-$j zFeeuqJiQcy-0U<9ZXIa=hqtdGS2TMOZdp~8N|}cJ@1{%&$?l&QAaI|o97JfSZ}{$9 z8uV0F2zwF6<20)tpT13Yja8NGv+hF#cAe(2aKLvEBv-|t%RVzL2f)y#gvP@k?g%YB z#vX!uo86$TRUEESTTMI-0?-d^q&<)? zn}f4*;Gr77&@Gxx2lM0ijuS?PRc2^g4f%~=O|kSsG7xVAYi8$zu8OALWb&wZbU&4X z(>Ikk9VQC%zV?u7MK}%yIs#u?o0?us4+1I3`JZ`^k28pxsty6~tUYQf?%$ z$0LoGhX5!;^2O1OP_0@bWgp!Dp7L!0+@SyKviJ780Fe;b2?IR$OVPI`kDkj|HJ7h5 z)>IzJ?*=lzMmjEoq^+YjEi>#_4L6#O6S}$66W{udwemU?(hG)($FiU2FTwI=eboUp z%O#>Z?EOMANo1AV?Amhi_^$n_EnC&_p--x1!n6>IyywVJ7UQa?A-CoW9qa8kOy8ll z0EE<8Mf~KpIiDfj%IhfMJ~#KxvRvfOTKpt7<-S0Gti zOQe5NwZ+2HlDW6fphe51&IsH3Z4$5UtCqj~gYXK`L{bSzll?Wq>Jk>`jI3#S@v8oO z_D+IrOG2R?(VgQ1awRfU7fg!|Pu1iHc2_;fk=LNcVa_gO;LNG?!n9JHkHyry`&j@@ zdECh>D;rr3XjP3ccb+*AO)l#V^b**y8aBMS`C1#fJ2j~taEJC&eKV+qST%99Z(%Li zX@dE@aMk@j+DyG-ZA)NtW(Z-zyeEepB;&}L*^ffo1fd~ScAcjaT+9S&Y$B`=arBDL z{I=F4Bdo@NR7MTs42twjzQEsP02ZJpJK6uThdy;tS((WEAQvIQ$ z4bJ^U81Fz$ATBDjO$^$wx_-x0Fd?yLZXcQWD*!~n??gD-lIqyC_C9q6)h;hfLHR!8 z@n$@%0UtJWU34Gb@BN{zouNl*VIaLnE|;om@JGG?y^jC7smI$AMni1h$X~s@5MocbOwq6~ogj7o>?w81cEf2(22fnD#Dk)~ zIb36L002~2d+kixAl-iT45Yl1nM0^!8UKmsCy|^2J?<1Lt_#P%!Y6lyb?On1(SF@N zDwmB2?Ym>c+?)ORa*GzVTJnby4J*}TNqu-&oA^H$ylh`rR+^S)rnG9-F9vuO{Y323 z4=-iJHx@iSTm6UZqHt`5*Wd3JD{36)wb$z$kk-8|^!u`fQlD5bGp1iMZNG+IFuHK` zmcIFegj-+EorVhjef-yJAoF!(B`7HUa>YN-S_hpK0z)0YENcs^`wqk!Ea*ibj*tSe z4c2u#{UcT2h4c4P_C;OVBE?7ceU{cMsr4sx_8v63T)Ca`79OgaD5qZfFvrd2+|klt zRv;|7bEir(a`b$l0Ho6KX-&A~mzFQ4Z(dXI`5jl4$M;8DmbDA(I}xiwk!}5MH#sLY zXp;#w@odE7P9gUEKx%HfVx85OZ#0N;TyS znOa!Mx`@L%8z+ZSMJn2JrPEw9Gf+7<+s{BDRoqrxAc5%nk?i^BWcIzuz%t zqKEky_FAgC{`PJY_fZ+QY|+RDW?JY6|Je>M+zO7UgO=yeW&_I{Mwy@3-;)trMZ`^z z)Xua>b->%^4&>nPv8({zO2((UgQ?*C>4SpDDD@g0Q7E@Hn#>il>PHEhKAm=sOr5Ip zxZmsc=Dg_5f{p1uzYZB~&K`GHPwM9-rO9Xt6p2d6fHXV>V+UiJH^~P0xUgA1-O=Q# z6`jSJ`LsvV8h3rKAKo6qexmQ-;yz-bsx2+B>$jr|534z!n~ijP)Prs6Vp~HocELi^ ztSx%0(a|PZFU-+KW8)o|JLK{Fm)wAJS0NnSj|`Ve5FWSFbdl8d4hU^B3t`7h=5BSf z!ccyy3V#-Jk44`?)PLKXyM&Flv!2-dQt{8@(=yS1J>fJ)Y50qwCq~`9|GOVo8R(OH zqsUKe`?BJ%Au`a=HsfoU(T51u5(ChmPlKf4z$r3)r{En;I(E!f$lre9jb^w1yfK~2JlCFC7?$?%^P0LzZ=IJw6AR1U2W8cryFI9%NTNPr2wL5uk@6pV ziCFKTMZY!ri^zmC)q=oh^4O|-f6}5G(Q{dgzY4!h&i`Io=h8QSZCY;oM2aoW_HGD1 zt^w?on*QR}lMilfmG=oBm=u!D?B}W`m^pHS z>2KsXdkP`8sI&glr&kXRW~jP!qpJ=t4{ZC1*oB{A?F3&_DZ{_YCq`m}X`$Iedyqq1 zc@DaY|7du7v)Y{^gFFF{BW5G_#0J=V)*fk0Cr(QN*7uLFy3GRk`)NSmZIw|h%j@*b zZ^dOIH7>dHtbKwOE`rTEy3;BTZ?;7?CFtF4Hf!5Sn#w&HOM zaFxC$!@ksx)5oc7y%&4O6CCb-?GV`b0g)(cw5~dA<9wDkz{mQ}~=Gc{C*Q47Cto+hv^(QX<1+@BlId1CeqR)h+zr5uT}l~Rj-My(^Kprl0`ztGx0#HPoy(fQnSXuKSk^bSJ5FVq%&^jU(-cDD8NF}Pk}`lz(; zURL;=B4o1e%ZM^44A`EzB9Y!rvC)JvkpwLuhY)CLN`sKb5`qC5ED5etggG7(axp%a z*p~Q(NwWT?)h?QcDfTef$%-`i;P{EZk6T)zY-=7s z{n<-PWC8kXX9w+wg#X~vueSx5gOhPxZSj7XndUTesd;30p$B*O7LysSA>w#3egdp- zo^mzAiBCU((g=V5ij00a0*-t*r+Ca0I=@`$f=JDKdLtgYr?Dk$MXB2O2}UIco!?Hl zamC!r$!oY$t=?6rRm~{9+zV>qQ|)u4@g&@QMqOO`x^rrUOkG~i*>!|X_8w_Dv}6Eg z6Yf*~oIYg#D7c_&D|+HV;w?M}Yd$X~=c9LaVwInkDAa*Y&)D!T!&3XfgJz1^Z| zm$3`_+%-filmK$e*v6~Fe`k_BATI4SoXu#^{FF!03w)#AwD#(_546Z|)e|5em4jL( zS~h<=DZ5c}C%nsEB-!Qr<%9C|Ene2R>`Pyz?$;NcgTY0m#6j5B#3|2uqNy6sEBBQuv z1y}~6C^J+zJ#5@%Oz|&!=j%6+)bi|EVCHjOk@WPT3Eg=?$qX$yV>t@HPYs1d_8=Bs+wIxcd^Ggw*d80 z&0O=VhH6Gr-d!hq>QKqqu0n;UsuQQ)9ORpjGYH?$-P?Y%&>P5BeL7VD>fjmuGe5oC zP!h$D+5x+m!A4Y4=b@LZ0O&TW9hzFAOU4^ojUFMiKE4wg5HFK9W+#k>X9b%KMib=Yy8H8UE4jc%D zh7NlQPfLAL0Lnn^jzr(01q397Jzwv58_Pn!6Mi?wsQ*=`0OiwnkfU@}{2RFJKLl?7f5CrKOV_`}PyN?WV27m_ z!NmadpabjoQg5|99-44uWh#ptfTJ>ycRpLT10*UXzRMz zP%ZpfF7KTv=p_4x;;x2LPgp+t_L;@eOu9d;9`&^AugaKrFO-3?YM}FJ%dQMLx#q={ zL^pNX3#+dC6CO)#>Z|1UE^@o3tTEDer}FA6Rj+d;H-R?tS}Ik8onKhRz?IzzZ)4p& zGv1yp&byK<^R;>zVHth^%b$=uUeecK~WZgGS6jYC*GQ_e!~A!FoK;8MxLK&Ulf z2Ul8m5rt710O=SbOyfSB=A1+RYwC9jm;w*JWHb6d+w|rOVm~v!_f}P2!qd@4M?}AT zxMcq+`QC3wM4^X`6`#JPWd|+MMX>ib#VOxyBCH)?&(h{44IK}zIm?15r9hAZ=-TKJ zfI_2ObnQ^XD$!jIDZ5ah4i!sdA|rIycmVHy0Z%U~DykLU1~As%UgQEZ1mnQNx*or? z1~3Ugj^+u#OQ)THu4Azb34km|@Ueabs?(0hmMJ-aw|Zxcd|<`H3i!CF&dvo8Z)o=v zD4Bl?;nQLl2m{LdfH1)XJ)VCmKDf`{7Xs?#mlA;HmC8%ZPVG+WL7^6&u0_l1Ko^IY zq+D$8oY{-eA(7@HbUG>4J#2NR|HR=A(+bk`2phO94|DlZ73!&&E6%*-39s$1>OlZ6>pBrjsu;h0=OfWpDq0Gvf3d05QD8rMAKLx1Ks^y$vCu0O1ck6&U!9R~eKXP}4u zHV-=PUJ3!qya=G2o@t*vKfbjm&Ia%_F_d2!d6G#@y`K*W8XJ4BcG%FTp{HHlH@X$H zL;x6%)*bcM;~5W;j3lWa_>@f*C%xelz1jIKMO&+?veh0EAb^y8wlDi$6(3G`;uH8q zkN5gT5QX=#i>%4Awny1=#;SH}fC!#OqZLaZ=zYAc%LK~IfI_l3G*6k9j{u!H%S>OA z;p>HI;LR+KqoGC_H~xsIco}>t{t{qI=scoYZ6=;dvWT7ZZ5dX*m^Kf_z71hA!c^10 zHf`QT7Et|QSxChsM7yJCRVeOc=`v$71%3Dup3w8%TBMMx1;%Oxc#ot6psV1|$0;*V z-uLI_>mpr!D^13Gg**T5B*|6xtYoVg4(9NjlPIN|-}`Xo7|JRwLlP!8 z){~@I-{JvMtxo@|_oiGkPz(qgS_pv6zRle98{q`nb}}SaEzgj)fcjtop99qibqrA` zkTBP?3C1Y5=f0~7jh9ZiJzA$T2Ba~k-G6pU3k=Gry4h^%woD^;$#XA>lraeOZsR2& zD`tfG?5*qZy59H0v#y?rsRncN+*u0mPR?>n8?nkae*YC(#SG!=s+>N@nP`{Kpl zG^gsmgzKuZ1b-16%@pR(z6G%rl~+Dt!a2qU2AhiXuC{C*H{qntPS?a%U1OPjD3AE3 zX>ayC^j<@Zy!xzW6VNAl$Mt1bNyf2=8gnP}+lL;=^%#E^_&Z1H-tkaRpo3LVv996) z;JsFUWvRotk_SN@pIBiFCUC=B?nlmhH}FPmbO~$v9|3=2m0|L!f+3u-+-kVb#jgNQ zI0(`iehI9dsEGxJgP(xmG&lAEfBmrv_pd*a&b=>R)$p`R9|XNrlA&$1jJhu^o4Owf z!@aVawZAS&tmRt%!vZF?nM*B3WDnJPnooiFu{zhuHI9S3XHGH+5-2%m*h=1~GhcD~ zZK{dmplo-TxfK6tXo-;BY(_KR8kc9PvXSNy0X}F6p)+VMpL?jbY9}<8Joy7;6cij; z>?0;PrW7~;edsKN!T|*y8fxuvrA?Ug*wW+&mf2**nIr#QozsV5b~k$Ufe~_7EyWLL Q0cSDPH@#7N%{lIW05^oHkpKVy literal 0 HcmV?d00001 diff --git a/test/python/test_rejection.py b/test/python/test_rejection.py new file mode 100644 index 00000000..3c2d53a7 --- /dev/null +++ b/test/python/test_rejection.py @@ -0,0 +1,81 @@ +import pytest + +from ragger.utils import RAPDU, prefix_with_len, create_currency_config +from ragger.error import ExceptionRAPDU + +from .apps.exchange import ExchangeClient, Rate, SubCommand, Errors, Command, P2_EXTEND, P2_MORE, EXCHANGE_CLASS +from .apps.exchange_transaction_builder import get_partner_curve, LEGACY_SUBCOMMANDS, ALL_SUBCOMMANDS, NEW_SUBCOMMANDS, get_credentials, craft_and_sign_tx +from .apps.signing_authority import SigningAuthority, LEDGER_SIGNER +from .apps import cal as cal +from .apps.ethereum import ETC_PACKED_DERIVATION_PATH + +CURRENCY_FROM = cal.ETH_CURRENCY_CONFIGURATION +CURRENCY_TO = cal.BTC_CURRENCY_CONFIGURATION + +# Some valid infos for TX. Content is irrelevant for the test + +SWAP_TX_INFOS = { + "payin_address": b"0xd692Cb1346262F584D17B4B470954501f6715a82", + "payin_extra_id": b"", + "refund_address": b"0xDad77910DbDFdE764fC21FCD4E74D71bBACA6D8D", + "refund_extra_id": b"", + "payout_address": b"bc1qqtl9jlrwcr3fsfcjj2du7pu6fcgaxl5dsw2vyg", + "payout_extra_id": b"", + "currency_from": CURRENCY_FROM.ticker, + "currency_to": CURRENCY_TO.ticker, + "amount_to_provider": bytes.fromhex("013fc3a717fb5000"), + "amount_to_wallet": b"\x0b\xeb\xc2\x00", +} +FUND_TX_INFOS = { + "user_id": "John Wick", + "account_name": "Remember Daisy", + "in_currency": CURRENCY_FROM.ticker, + "in_amount": b"\032\200\250]$T\000", + "in_address": "0x252fb4acbe0de4f0bd2409a5ed59a71e4ef1d2bc" +} +SELL_TX_INFOS = { + "trader_email": "john@doe.lost", + "out_currency": "USD", + "out_amount": {"coefficient": b"\x01", "exponent": 3}, + "in_currency": CURRENCY_FROM.ticker, + "in_amount": b"\032\200\250]$T\000", + "in_address": "0x252fb4acbe0de4f0bd2409a5ed59a71e4ef1d2bc" +} +TX_INFOS = { + SubCommand.SWAP_NG: SWAP_TX_INFOS, + SubCommand.FUND_NG: FUND_TX_INFOS, + SubCommand.SELL_NG: SELL_TX_INFOS, +} +FEES = 100 + +class TestRejection: + @pytest.mark.parametrize("subcommand", NEW_SUBCOMMANDS) + def test_rejection(self, backend, exchange_navigation_helper, subcommand): + ex = ExchangeClient(backend, Rate.FIXED, subcommand) + partner = SigningAuthority(curve=get_partner_curve(subcommand), name="Name") + transaction_id = ex.init_transaction().data + credentials = get_credentials(subcommand, partner) + ex.set_partner_key(credentials) + ex.check_partner_key(LEDGER_SIGNER.sign(credentials)) + tx, tx_signature = craft_and_sign_tx(subcommand, TX_INFOS[subcommand], transaction_id, FEES, partner) + ex.process_transaction(tx) + ex.check_transaction_signature(tx_signature) + + from_configuration = CURRENCY_FROM.get_conf_for_ticker() + + if subcommand == SubCommand.SWAP_NG: + to_configuration = CURRENCY_TO.get_conf_for_ticker() + ex.check_payout_address(to_configuration) + + # Request the final address check and UI approval request on the device + ex.check_refund_address_no_display(from_configuration) + with pytest.raises(ExceptionRAPDU) as e: + with ex.prompt_ui_display(): + exchange_navigation_helper.simple_reject() + assert e.value.status == Errors.USER_REFUSED + else: + ex.check_asset_in_no_display(from_configuration) + with pytest.raises(ExceptionRAPDU) as e: + with ex.prompt_ui_display(): + exchange_navigation_helper.simple_reject() + assert e.value.status == Errors.USER_REFUSED