
                             d Z ddlZddlZddlZddlZddlZddlmZmZ ddl	Z	 G d de
      Z e       Z G d dej                        Zy)zTests for the reauth module.    N)
challengeserrorsc                       e Zd Zd Zy)_U2FInterfaceMockc                     | j                   )N)error)selfunused_app_id	challengeunused_registered_keyss       Iplatform/gsutil/third_party/google-reauth-python/tests/test_challenges.pyAuthenticatez_U2FInterfaceMock.Authenticate   s    jj    N)__name__
__module____qualname__r    r   r   r   r      s    r   r   c                   ~    e Zd ZdZ ej
                  de      d        Z ej
                  dd      d        Zd Z	y)	ChallengesTestz1This class contains tests for reauth challanges. zpyu2f.u2f.GetLocalU2FInterface)return_valuec           
         dddddt        j                  dj                  d            j                  d      dgd	d
}t	        j
                         }t        j                  j                  t        j                  j                  j                        t        _        | j                  d |j                  |             t        j                  j                  t        j                  j                  j                        t        _        | j                  d |j                  |             t        j                  j                         t        _        | j                  d |j                  |             t        j                  j                  t        j                  j                  j                         t        _        | j#                  t        j                  j                        5  |j                  |       d d d        t        j                  j%                         t        _        | j#                  t        j                  j$                        5  |j                  |       d d d        y # 1 sw Y   txY w# 1 sw Y   y xY w)NREADY   SECURITY_KEYsecurity_key_application_idsome_keysome_challengeascii)	keyHandler   )applicationIdr   statuschallengeIdchallengeTypesecurityKey)base64urlsafe_b64encodeencodedecoder   SecurityKeyChallengepyu2fr   U2FErrorDEVICE_INELIGIBLE_u2f_interface_mockr   assertEqualobtain_challenge_inputTIMEOUTNoDeviceFoundErrorBAD_REQUESTassertRaisesUnsupportedVersionException)r	   u2f_mockmetadatar   s       r   testSecurityKeyErrorz#ChallengesTest.testSecurityKeyError(   s    +!>!+!'!9!9(//8"::@&/  	 335	$)LL$9$9LL!!33%5!y??IJ$)LL$9$9LL!!))%+!y??IJ$)LL$C$C$E!y??IJ$)LL$9$9LL!!--%/!u||445,,X6 6 %*LL$L$L$N!u||GGH,,X6 IH	 65 IHs   %I*I6*I36I?zgetpass.getpassNc                 n    | j                  t        j                         j                  i       ddi       y )N
credential )r/   r   PasswordChallenger0   )r	   getpass_mocks     r   testNoPasswordzChallengesTest.testNoPasswordM   s.    557NNrR3	!r   c                     dddi d}t        j                         }| j                  d|j                         | j	                  t
        j                        5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr      SAMLr!   T)r   SamlChallenger/   is_locally_eligibler4   r   ReauthSamlLoginRequiredErrorr0   )r	   r7   r   s      r   testSamlzChallengesTest.testSamlR   sj    #	 ,,.	y<<=vBBC,,X6 DCCs   A22A;)
r   r   r   __doc__mockpatchr.   r8   r>   rE   r   r   r   r   r   %   sO    ;TZZ0ATU"7 V"7H TZZ!$7! 8!
7r   r   )rF   r&   jsonosunittestrG   google_reauthr   r   r+   objectr   r.   TestCaser   r   r   r   <module>rO      sH    #   	   ,  
 () 77X&& 77r   