
                             S r SSKJr  SSKrSSKJr  SSKJs  Jr  SSK	J
r  SSK	Jr  SSKJr   " S S	\R                  5      rg)
#Integration tests for ubla command.    )absolute_importN)ApiSelector)ObjectToURI)unittest)Retryc                   L    \ rS rSrSrSS/rSS/rS rS rS r	S	 r
S
 rS rSrg)TestUbla   r   ublasetgetc                     U R                  U R                  [        U5      /-   SS9n[        R                  " S[        R
                  5      n[        R                  " XC5      nUR                  S5      nU R                  [        U5      U5        g )NT)return_stdoutz#^\s*Enabled:\s+(?P<enabled_val>.+)$enabled_val)
	RunGsUtil_get_ubla_cmdsurirecompile	MULTILINEsearchgroupassertEqualstr)self
bucket_urivaluestdoutuniform_bucket_level_access_re!uniform_bucket_level_access_matchuniform_bucket_level_access_vals          (platform/gsutil/gslib/tests/test_ubla.py_AssertEnabledTestUbla._AssertEnabled!   s    ^^D..$z2B1CC*.  0F%'ZZ.&>"(*		&)0%&G&M&M'#SZ!@A    c                     U R                   [        R                  :X  a  [        R                  " S5      $ U R                  5       nU R                  US5        g )N5XML API has no concept of Uniform bucket-level accessF)test_apir   XMLr   skipCreateBucketr$   r   r   s     r#   test_off_on_default_buckets$TestUbla.test_off_on_default_buckets,   sF    }}']]
AC C""$J
E*r&   c                 &   U R                   [        R                  :X  a  [        R                  " S5      $ U R                  SSS9nU R                  US5        U R                  U R                  S[        U5      /-   5        U R                  US5        g )Nr(   T)bucket_policy_onlyprefer_json_apioffF)
r)   r   r*   r   r+   r,   r$   r   _set_ubla_cmdr   r-   s     r#   #test_turning_off_on_enabled_buckets,TestUbla.test_turning_off_on_enabled_buckets3   s    }}']]
AC C ""d37 # 9J
D)NN4%%Z0@(AAB
E*r&   c                    U R                   [        R                  :X  a  [        R                  " S5      $ U R                  5       nU R                  U R                  S[        U5      /-   5        U R                  US5        g )Nr(   onT
r)   r   r*   r   r+   r,   r   r4   r   r$   r-   s     r#   test_turning_onTestUbla.test_turning_on?   si    }}']]
AC C ""$JNN4%%tJ/?(@@A
D)r&   c                 x   U R                   [        R                  :X  a  [        R                  " S5      $ U R                  5       nU R                  U R                  S[        U5      /-   5        U R                  US5        U R                  U R                  S[        U5      /-   5        U R                  US5        g )Nr(   r8   Tr3   Fr9   r-   s     r#   test_turning_on_and_off TestUbla.test_turning_on_and_offI   s    }}']]
AC C ""$JNN4%%tJ/?(@@A
D)NN4%%Z0@(AAB
E*r&   c                     U R                  U R                  SSS9nU R                  SU5        U R                  U R                  SSS9nU R                  SU5        U R                  S/SSS9nU R                  SU5        g)z2Ensures ubla commands fail with too few arguments.T   )return_stderrexpected_statuszcommand requires at leastr   N)r   r4   assertInr   )r   stderrs     r#   testTooFewArgumentsFails!TestUbla.testTooFewArgumentsFailsV   s     ^^D..*.,-  /F 	MM-v6 ^^D..*.,-  /F 	MM-v6 ^^VHD!^LFMM-v6r&    N)__name__
__module____qualname____firstlineno____doc__r4   r   r$   r.   r5   r:   r=   rE   __static_attributes__rG   r&   r#   r
   r
      s6    +5/-5/-	B+
+*+7r&   r
   )rL   
__future__r   r   gslib.cs_api_mapr   gslib.tests.testcaseteststestcasegslib.tests.utilr   r   r   gslib.utils.retry_utilr   GsUtilIntegrationTestCaser
   rG   r&   r#   <module>rV      s6    * & 	 ( ' ' 0 % (K7x11 K7r&   