
                             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0r " S S\R&                  5      rg)z3Tests for private service connect custom endpoints.    )absolute_import)print_function)division)unicode_literals)config)DEFAULT_HOST)testcase)integration_testcase)ObjectToURI)SetBotoConfigForTest)unittestPYTHONUNBUFFERED1c                      \ rS rSrSr\R                  " S5      \R                  " S5      S 5       5       r\R                  " S5      \R                  " S5      S 5       5       r
\R                  " S5      \R                  " S5      S 5       5       r\R                  " S5      \R                  " S5      S	 5       5       r\R                  " S5      \R                  " S5      S
 5       5       rSrg)TestPsc#   z+Integration tests for PSC custom endpoints.z
JSON test.z&Custom endpoints not available for S3.c                    [         R                  " SS[        5      nU[        :X  a  g U R                  5       n[	        SS/5         U R                  5       nU R                  USS9nU R                  SS[        U5      U/[        S	S
9nS S S 5        U R                  UW5        U R                  [        U5        g ! , (       d  f       N7= f)NCredentialsgs_json_hostGSUtil sliced_object_download_threshold1Br   %sliced_object_download_component_sizer      foo
bucket_uricontents-DDcpTenv_varsreturn_stdout)r   getr   CreateTempDirr   CreateBucketCreateObject	RunGsUtilr   PYTHON_UNBUFFERED_ENV_VARassertInassertNotIn)selfgs_hosttemporary_directoryr   key_uristdouts         'platform/gsutil/gslib/tests/test_psc.py:test_persists_custom_endpoint_through_json_sliced_downloadBTestPsc.test_persists_custom_endpoint_through_json_sliced_download&   s     jjEG,,,.	<A 
 $$&j!!Z&!Ig~~$G,.A
B,  f
 	MM'6"\6*
 
s   AB99
Cz	XML test.c                    [         R                  " SS[        5      nU[        :X  a  g U R                  5       n[	        SS/5         U R                  5       nU R                  USS9nU R                  SS[        U5      U/S	S	S
9u  pVS S S 5        WW-   nU R                  X5        U R                  S[        -   U5        g ! , (       d  f       N>= f)Nr   r.   r   r   r   r   -Dr!   Tr$   return_stderr	hostname=)r   r%   r   r&   r   r'   r(   r)   r   r+   r,   )r-   r.   r/   r   r0   r1   stderroutputs           r2   9test_persists_custom_endpoint_through_xml_sliced_downloadATestPsc.test_persists_custom_endpoint_through_xml_sliced_download>   s     jj	<@G,,,.	<A 
 $$&j!!Z&!Ig~~{7+-@
A & nf
 f_FMM'"[</8
 
s   AB>>
Cc           	      r   [         R                  " SS[        5      nU[        :X  a  g U R                  SS9n[	        SS/5         U R                  5       nU R                  SSU[        U5      /[        S	S
9nS S S 5        U R                  UW5        U R                  [        U5        g ! , (       d  f       N7= f)Nr   r   r   r   r   #parallel_composite_upload_thresholdr   r   (parallel_composite_upload_component_sizer   r    r!   Tr"   )r   r%   r   CreateTempFiler   r'   r)   r   r*   r+   r,   )r-   r.   temporary_filer   r1   s        r2   Dtest_persists_custom_endpoint_through_json_parallel_composite_uploadLTestPsc.test_persists_custom_endpoint_through_json_parallel_composite_uploadW   s     jjEG,((&(9N	?D 
 $$&j~~$z"$,	  f
 	MM'6"\6*
 
s   3B((
B6c           	      |   [         R                  " SS[        5      nU[        :X  a  g U R                  SS9n[	        SS/5         U R                  5       nU R                  SSU[        U5      /S	S	S
9u  pES S S 5        WW-   nU R                  X5        U R                  S[        -   U5        g ! , (       d  f       N>= f)Nr   r.   r   r?   r@   rB   r6   r!   Tr7   r9   
r   r%   r   rD   r   r'   r)   r   r+   r,   r-   r.   rE   r   r1   r:   r;   s          r2   Ctest_persists_custom_endpoint_through_xml_parallel_composite_uploadKTestPsc.test_persists_custom_endpoint_through_xml_parallel_composite_uploado   s     jj	<@G,((&(9N	?D 
 $$&j~~~z"$	 & nf
 f_FMM'"[</8
 
s   1B--
B;c           	      z   [         R                  " SS[        5      nU[        :X  a  g U R                  SS9n[	        S/5         U R                  5       nU R                  SSU[        U5      /SSS	9u  pES S S 5        WW-   nU R                  X5        U R                  S
[        -   U5        g ! , (       d  f       N>= f)Nr   r.   r   r?   )r   resumable_thresholdr   r6   r!   Tr7   r9   rI   rJ   s          r2   6test_persists_custom_endpoint_through_resumable_upload>TestPsc.test_persists_custom_endpoint_through_resumable_upload   s     jj	<@G,((&(9N	EF	G$$&j~~~z"$	 & nf 
H f_FMM'"[</8 
H	Gs   1B,,
B: N)__name__
__module____qualname____firstlineno____doc__r
   
SkipForXML	SkipForS3r3   SkipForJSONr<   rF   rK   rO   __static_attributes__rQ       r2   r   r   #   s   3""<0!!"JK+ L 1+, ##K0!!"JK9 L 19. ""<0!!"JK+ L 1+, ##K0!!"JK9 L 19, ##K0!!"JK9 L 19r[   r   N)rV   
__future__r   r   r   r   botor   gslib.gcs_json_apir   gslib.testsr	   gslib.tests.testcaser
   gslib.tests.utilr   r   r   r*   GsUtilIntegrationTestCaser   rQ   r[   r2   <module>rc      sL    : & %  '  +   5 ( 1 % 05 w9h00 w9r[   