
    vDi#	                         d Z ddlZddlmZ ej                  j                  d e ee      j                         j                  d                ddl
Z
ddlmZmZ dZd Zd Zd	 Zd
 Zd Zd Zd Zd Zy)u/   task-2370 P2 — anu_confirm_bot signer 검증.    N)Path   )sign_callbackverify_callbacktest_secret_keyc            	          t        dddt        t        j                               dz   t              } t	        | t              }|d   du sJ |d   dk(  sJ |d   dk(  sJ |d	   dk(  sJ y )
NaB	  c   ,  okTactiontask_numpr_numr   inttimeSECRETr   cbvs     G/home/jay/workspace/.worktrees/task-2466-dev1/tests/dev3/test_signer.pytest_roundtrip_approver      sv    	sD"c$))+&6&<f	EBF#AT7d??X;#Z=D   X;"    c            	          t        dddt        t        j                               dz   t              } t	        | t              }|d   du r|d   dk(  sJ y )Nrr
   r   r   r   Tr   r   r   s     r   test_roundtrip_rejectr      O    	sD"c$))+&6&<f	EBF#AT7d?q{c1111r   c            	          t        dddt        t        j                               dz   t              } t	        | t              }|d   du r|d   dk(  sJ y )Ndr
   r   r   r   Tr   r   r   s     r   test_roundtrip_diffr!      r   r   c            	          t        dddt        t        j                               dz   t              } t	        | d      }|d   du sJ |d   d	k(  sJ y )
Nr	   r
   r   r   wrong_secretr   Freason	signaturer   r   s     r   test_wrong_secret_rejectedr&   !   sT    	sD"c$))+&6&<f	EBN+AT7eX;+%%%r   c            	          t        dddt        t        j                               dz
  t              } t	        | t              }|d   du sJ |d   dk(  sJ y )	Nr	   r
   r   
   r   Fr$   expiredr   r   s     r   test_expired_callback_rejectedr*   (   sT    	sD"c$))+&6&;V	DBF#AT7eX;)###r   c                  n   d} dd l }dd l}dd l}|j                  t        j                         | j                         |j                        j                         }|j                  |      j                  d      j                  d      d d }|  d| }t        |t              }|d   du sJ |d	   d
k(  sJ y )Nzx:2370:99:9999999999r   ascii=   :r   Fr$   unknown_action)hmachashlibbase64newr   encodesha256digesturlsafe_b64encodedecoderstripr   )payloadr1   r2   r3   macsigforgedr   s           r   test_unknown_action_rejectedr?   /   s    $G  
((6==?GNN$4gnn
E
L
L
NC

"
"3
'
.
.w
7
>
>s
CBQ
GCy#F'AT7eX;****r   c                  J    t        dt              } | d   du sJ | d   dk(  sJ y )Nznot:valid:datar   Fr$   format)r   r   )r   s    r   test_malformed_format_rejectedrB   ;   s3    (&1AT7eX;("""r   c            	          t        dddt        t        j                               dz   t              } | j	                  d      }d|d<   dj                  |      }t        |t              }|d   d	u sJ |d
   dk(  sJ y )Nr	   r
   r   r   r/   9999   r   Fr$   r%   )r   r   r   r   splitjoinr   )r   partstamperedr   s       r   test_tampered_payload_rejectedrJ   A   sw    	sD"c$))+&6&<f	EBHHSMEE!HxxH&)AT7eX;+%%%r   )__doc__syspathlibr   pathinsertstr__file__resolveparentsr   scripts.anu_confirm_bot.signerr   r   r   r   r   r!   r&   r*   r?   rB   rJ    r   r   <module>rV      sp    5 
  3tH~--/77:; <  I	22&$	+#&r   