
                             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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\R,                  5      rg)zTests for gcs_json_api.py.    )absolute_import)print_function)division)unicode_literals)	cloud_api)gcs_json_api)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                  \S5      S 5       r
S rS rSrg	)
TestGcsJsonApi$   z-Test logic for interacting with GCS JSON API.get_context_configc                    [         R                  " 5       nSUl        X!l        [	        SS/5         [
        R                  " S S S S 5      nU R                  UR                  [
        R                  5        S S S 5        g ! , (       d  f       g = f)NTCredentialsgs_json_hostNr   gs_hostN)
r   Mockuse_client_certificatereturn_valuer   r   
GcsJsonApiassertEqual	host_base	MTLS_HOST)selfmock_get_context_configmock_context_configclients       0platform/gsutil/gslib/tests/test_gcs_json_api.py0testSetsHostBaseToMtlsIfClientCertificateEnabled?TestGcsJsonApi.testSetsHostBaseToMtlsIfClientCertificateEnabled'   sy     ))+15.+>(	D?A 
B&&tT4>f
v'')?)?@
B 
B 
Bs   AA==
Bc                 8   [         R                  " 5       nSUl        X!l        [	        S/5         U R                  [        R                  5         [        R                  " S S S S 5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)NTr   r   host)
r   r   r   r   r   assertRaisesr   ArgumentExceptionr   r   )r"   r#   r$   s      r&   +testRaisesErrorIfConflictingJsonAndMtlsHost:TestGcsJsonApi.testRaisesErrorIfConflictingJsonAndMtlsHost3   sr     ))+15.+>(	FG	HY889dD$7 : 
I	H99 
I	Hs#    BA:)B:
B	B
Bc                     [        S/5         [        R                  " S S S S 5      nU R                  UR                  S5        S S S 5        g ! , (       d  f       g = f)Nr*   r+   )r   r   r   r   r    r"   r%   s     r&   testSetsCustomJsonHost%TestGcsJsonApi.testSetsCustomJsonHost>   sG    	FG	H&&tT4>f
v''0 
I	H	Hs   6A
Ac                     [        SS/5         [        R                  " S S S S 5      nU R                  UR                  [        R
                  5        S S S 5        g ! , (       d  f       g = f)Nr   r   )r   r   r   r   r    DEFAULT_HOSTr1   s     r&   testSetsDefaultHost"TestGcsJsonApi.testSetsDefaultHostC   s\    	D?A 
B&&tT4>f
v'')B)BC
B 
B 
Bs   AA
A) N)__name__
__module____qualname____firstlineno____doc__r   patchobjectr	   r'   r.   r2   r6   __static_attributes__r8       r&   r   r   $   s\    5::^%9:	A ;	A ::^%9:8 ;81
DrA   r   N)r=   
__future__r   r   r   r   gslibr   r   r	   gslib.testsr
   gslib.tests.testcaser   gslib.tests.utilr   r   sixr   r   	six.movesr   GsUtilUnitTestCaser   r8   rA   r&   <module>rJ      sV    ! & %  '       % 1 % % VV_	5 6 #DX00 #DrA   