
                             S r SSKrSSKrSSKrSSKrSSKrSSKJrJr  SSK	r	 " S S\
5      r\" 5       r " S S\R                  5      rg)zTests for the reauth module.    N)
challengeserrorsc                       \ rS rSrS rSrg)_U2FInterfaceMock   c                     U R                   e)N)error)selfunused_app_id	challengeunused_registered_keyss       Iplatform/gsutil/third_party/google-reauth-python/tests/test_challenges.pyAuthenticate_U2FInterfaceMock.Authenticate   s    jj     N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s    r   r   c                   z    \ rS rSrSr\R                  " S\S9S 5       r\R                  " SSS9S 5       r	S	 r
S
rg)ChallengesTest%   z1This class contains tests for reauth challanges. zpyu2f.u2f.GetLocalU2FInterface)return_valuec           
         SSSSS[         R                  " SR                  S5      5      R                  S5      S./S	.S
.n[        R
                  " 5       n[        R                  R                  [        R                  R                  R                  5      [        l        U R                  S UR                  U5      5        [        R                  R                  [        R                  R                  R                  5      [        l        U R                  S UR                  U5      5        [        R                  R                  5       [        l        U R                  S UR                  U5      5        [        R                  R                  [        R                  R                  R                   5      [        l        U R#                  [        R                  R                  5         UR                  U5        S S S 5        [        R                  R%                  5       [        l        U R#                  [        R                  R$                  5         UR                  U5        S S S 5        g ! , (       d  f       Ny= f! , (       d  f       g = f)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   testSecurityKeyError#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,I=,
I:=
Jzgetpass.getpassNc                 p    U R                  [        R                  " 5       R                  0 5      SS05        g )N
credential )r4   r   PasswordChallenger5   )r
   getpass_mocks     r   testNoPasswordChallengesTest.testNoPasswordM   s.    557NNrR3	!r   c                    SSS0 S.n[         R                  " 5       nU R                  SUR                  5        U R	                  [
        R                  5         UR                  U5        S S S 5        g ! , (       d  f       g = f)Nr      SAMLr&   T)r   SamlChallenger4   is_locally_eligibler9   r   ReauthSamlLoginRequiredErrorr5   )r
   r<   r   s      r   testSamlChallengesTest.testSamlR   sj    #	 ,,.	y<<=vBBC,,X6 DCCs   A33
Br   )r   r   r   r   __doc__mockpatchr3   r=   rD   rL   r   r   r   r   r   r   %   sK    ;	ZZ0ATU"7 V"7H 
ZZ!$7! 8!
7r   r   )rN   r+   jsonosunittestrO   google_reauthr   r   r0   objectr   r3   TestCaser   r   r   r   <module>rW      sH    #   	   ,  
 () 77X&& 77r   