
    "                         d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlmZ ddl	m
Z
 dd	lmZ dd
lmZ ddlmZmZ  e eddd             ddlmZ  G d dej(                        Zy)zTests for posix_util.py.    )absolute_import)print_function)division)unicode_literalsN)testcase)unittest)
posix_util)
IS_WINDOWS)add_moveMovedModulemockzunittest.mock)r   c                      e Zd ZdZej
                  j                  edd      ej
                  j                  edd      d               Z e	j                  ed      ej
                  j                  edd      d	               Zy
)TestPosixUtilzUnit tests for POSIX utils.InitializeUserGroupsT)autospecInitializeDefaultModec                 l    t        j                          |j                          |j                          y )N)r	   InitializePreservePosixDataassert_called_once_with)selfmock_initialize_default_modemock_initialize_user_groupss      .platform/gsutil/gslib/tests/test_posix_util.py;test_initialize_preserve_posix_data_calls_correct_functionszITestPosixUtil.test_initialize_preserve_posix_data_calls_correct_functions&   s(     **, 88:779    z%os.umask always returns 0 on Windows.umaskc                     t         |_        | j                  t               5  t        j                          d d d        |j                  d       y # 1 sw Y   xY w)N   )
ValueErrorside_effectassertRaisesr	   r   r   )r   
mock_umasks     r   Ftest_initialize_mode_sets_umask_to_correct_temporary_value_not_windowszTTestPosixUtil.test_initialize_mode_sets_umask_to_correct_temporary_value_not_windows.   sB    
 (J			:	&&&( 
'&&u- 
'	&s   AAN)__name__
__module____qualname____doc__r   patchobjectr	   r   r   skipIfr
   osr#    r   r   r   r   #   s    #::Z!7$G::Z!84H: I H: 8??:FG::R40. 1 H.r   r   )r'   
__future__r   r   r   r   r+   gslib.testsr   gslib.tests.utilr   gslib.utilsr	   gslib.utils.system_utilr
   sixr   r   	six.movesr   GsUtilUnitTestCaser   r,   r   r   <module>r5      sN     & %  ' 	   % " . % VV_	5 6 .H// .r   