
                             d Z ddlmZ ddlZddlmZ ddlmc mZ ddl	m
Z ddl	mZ ddlmZ  G d d	ej                        Zy)
#Integration tests for ubla command.    )absolute_importN)ApiSelector)ObjectToURI)unittest)Retryc                   D    e Zd ZdZddgZddgZd Zd Zd Zd Z	d	 Z
d
 Zy)TestUblar   ublasetgetc                 $   | j                  | j                  t        |      gz   d      }t        j                  dt        j
                        }t        j                  ||      }|j                  d      }| j                  t        |      |       y )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_AssertEnabledzTestUbla._AssertEnabled!   s    ^^D..$z2B1CC*.  0F%'ZZ.&>"(*		&)0%&G&M&M'#SZ!@A    c                     | j                   t        j                  k(  rt        j                  d      S | j                         }| j                  |d       y )N5XML API has no concept of Uniform bucket-level accessF)test_apir   XMLr   skipCreateBucketr#   r   r   s     r"   test_off_on_default_bucketsz$TestUbla.test_off_on_default_buckets,   sF    }}']]
AC C""$J
E*r$   c                 (   | j                   t        j                  k(  rt        j                  d      S | j                  dd      }| j                  |d       | j                  | j                  dt        |      gz          | j                  |d       y )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_bucketsz,TestUbla.test_turning_off_on_enabled_buckets3   s    }}']]
AC C ""d37 # 9J
D)NN4%%Z0@(AAB
E*r$   c                     | j                   t        j                  k(  rt        j                  d      S | j                         }| j                  | j                  dt        |      gz          | j                  |d       y )Nr&   onT
r'   r   r(   r   r)   r*   r   r1   r   r#   r+   s     r"   test_turning_onzTestUbla.test_turning_on?   si    }}']]
AC C ""$JNN4%%tJ/?(@@A
D)r$   c                 t   | j                   t        j                  k(  rt        j                  d      S | j                         }| j                  | j                  dt        |      gz          | j                  |d       | j                  | j                  dt        |      gz          | j                  |d       y )Nr&   r4   Tr0   Fr5   r+   s     r"   test_turning_on_and_offz TestUbla.test_turning_on_and_offI   s    }}']]
AC C ""$JNN4%%tJ/?(@@A
D)NN4%%Z0@(AAB
E*r$   c                    | j                  | j                  dd      }| j                  d|       | j                  | j                  dd      }| j                  d|       | j                  dgdd      }| j                  d|       y)z2Ensures ubla commands fail with too few arguments.T   )return_stderrexpected_statuszcommand requires at leastr   N)r   r1   assertInr   )r   stderrs     r"   testTooFewArgumentsFailsz!TestUbla.testTooFewArgumentsFailsV   s     ^^D..*.,-  /F 	MM-v6 ^^D..*.,-  /F 	MM-v6 ^^VHD!^LFMM-v6r$   N)__name__
__module____qualname____doc__r1   r   r#   r,   r2   r6   r8   r?    r$   r"   r
   r
      s6    +5/-5/-	B+
+*+7r$   r
   )rC   
__future__r   r   gslib.cs_api_mapr   gslib.tests.testcaseteststestcasegslib.tests.utilr   r   r   gslib.utils.retry_utilr   GsUtilIntegrationTestCaser
   rD   r$   r"   <module>rM      s6    * & 	 ( ' ' 0 % (K7x11 K7r$   