
    &                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKrSSKJ	r	  SSK
Jr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  SSKJrJr  \" \" SSS5      5        SSKJr   " S S\R2                  5      rg)zTests for boto_util.py.    )absolute_import)print_function)division)unicode_literalsN)	cloud_api)	boto_util)context_config)testcase)base)SetBotoConfigForTest)unittest)add_moveMovedModulemockzunittest.mock)r   c                      \ rS rSrSr\R                  R                  \S5      S 5       r	\R                  R                  \
R                  SSS9S 5       r\R                  R                  \
R                  SSS9S	 5       r\R                  R                  \
R                  SSS9S
 5       r\R                  R                  \
R                  SSS9S 5       r\R                  R                  \
R                  SSS9S 5       r\R                  R                  \
R                  SSS9S 5       rS rS rS rS rS rS rSrg)TestBotoUtil%   z0Test utils that make use of the Boto dependency.get_context_configc                    [         R                  " 5       nSUl        SUl        SUl        X!l        [         R                  " [         R                  " 5       S9n[        R                  " U5      nUR                  R                  SSSSS9  g )NTpathpasswordreturn_value )keycertdomainr   )
r   Mockuse_client_certificateclient_cert_pathclient_cert_passwordr   r   
GetNewHttpadd_certificateassert_called_once_with)selfmock_get_context_configmock_context_configmock_http_class	mock_https        -platform/gsutil/gslib/tests/test_boto_util.py0testSetsHostBaseToMtlsIfClientCertificateEnabled=TestBotoUtil.testSetsHostBaseToMtlsIfClientCertificateEnabled(   sz     ))+15.+1(/9,+>(iiTYY[9O$$_5I55	 6     get_auth_handlerNr   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	Credentialsgs_access_key_idNr1   gs_secret_access_keyNr1   aws_access_key_idNr1   aws_secret_access_keyNr1   gs_oauth2_refresh_tokenNr1   gs_external_account_fileNr1   (gs_external_account_authorized_user_fileNr1   gs_service_client_idNr1   gs_service_key_fileN)r   assertFalser   HasConfiguredCredentialsr%   _s     r*   #testHasConfiguredCredentialsNoCreds0TestBotoUtil.testHasConfiguredCredentialsNoCreds:   s8    	 
 

 y99;<

 

 

	   %<
A
c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	r1   r2   ?????r1   r4   rL   r5   r7   r9   r;   r=   r?   rA   r   
assertTruer   rD   rE   s     r*   %testHasConfiguredCredentialsGoogCreds2TestBotoUtil.testHasConfiguredCredentialsGoogCredsI   6    	 
 

 ooi88:;

 

 

rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	r0   r3   )r1   r6   rL   )r1   r8   rL   r9   r;   r=   r?   rA   rN   rE   s     r*   %testHasConfiguredCredentialsAmznCreds2TestBotoUtil.testHasConfiguredCredentialsAmznCredsX   rR   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	r0   r3   r5   r7   r1   r:   rL   r;   r=   r?   rA   rN   rE   s     r*   &testHasConfiguredCredentialsOauthCreds3TestBotoUtil.testHasConfiguredCredentialsOauthCredsg   rR   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	r0   r3   r5   r7   r9   r1   r<   rL   r=   r?   rA   rN   rE   s     r*   )testHasConfiguredCredentialsExternalCreds6TestBotoUtil.testHasConfiguredCredentialsExternalCredsv   rR   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)	r0   r3   r5   r7   r9   r;   r1   r>   rL   r?   rA   rN   rE   s     r*   7testHasConfiguredCredentialsExternalAuthorizedUserCredsDTestBotoUtil.testHasConfiguredCredentialsExternalAuthorizedUserCreds   rR   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   rM   r;   r=   r9   )r1   r@   rL   )r1   rB   rL   r   rC   r   UsingGsHmacr%   s    r*   -testUsingGsHmacWithHmacAndServiceAccountCreds:TestBotoUtil.testUsingGsHmacWithHmacAndServiceAccountCreds   8    	  
 y,,./
 
 
rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   rM   r;   r=   rW   r?   rA   rc   re   s    r*   ,testUsingGsHmacWithHmacAndOauth2RefreshToken9TestBotoUtil.testUsingGsHmacWithHmacAndOauth2RefreshToken   rh   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   r3   r;   r=   r9   r?   rA   rc   re   s    r*   %testUsingGsHmacWithIncompleteHmacOnly2TestBotoUtil.testUsingGsHmacWithIncompleteHmacOnly   rh   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   rM   r[   r=   r9   r?   rA   r   rO   r   rd   re   s    r*   -testUsingGsHmacWithHmacAndExternalAccountFile:TestBotoUtil.testUsingGsHmacWithHmacAndExternalAccountFile   6    	  
 ooi++-.
 
 
rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   rM   r;   r_   r9   r?   rA   rp   re   s    r*   ;testUsingGsHmacWithHmacAndExternalAccountAuthorizedUserFileHTestBotoUtil.testUsingGsHmacWithHmacAndExternalAccountAuthorizedUserFile   rs   rI   c                     [        / SQ5         U R                  [        R                  " 5       5        S S S 5        g ! , (       d  f       g = f)N)rK   rM   r;   r=   r9   r?   rA   rp   re   s    r*   testUsingGsHmacWithHmacOnly(TestBotoUtil.testUsingGsHmacWithHmacOnly   rs   rI    )__name__
__module____qualname____firstlineno____doc__r   patchobjectr	   r+   botoauthrG   rP   rT   rX   r\   r`   rf   rj   rm   rq   ru   rx   __static_attributes__rz   r-   r*   r   r   %   sg   8::^%9: ;" ::TYY 2F= G= ::TYY 2F< G< ::TYY 2F< G< ::TYY 2F< G< ::TYY 2F< G< ::TYY 2F< G<
0
0
0
/
/
/r-   r   )r   
__future__r   r   r   r   	boto.authr   gslibr   gslib.utilsr   r	   gslib.testsr
   gslib.tests.testcaser   gslib.tests.utilr   r   sixr   r   	six.movesr   GsUtilUnitTestCaser   rz   r-   r*   <module>r      sY     & %  '   !     % 1 % % VV_	5 6 u/8.. u/r-   