
    &                     >    d Z ddlZddlmZ ddlmZ  G d de      Zy)z3Contains base class to be used for shim unit tests.    N)mock)GsUtilUnitTestCasec                   ,     e Zd ZdZ fdZ fdZ xZS )ShimUnitTestBasezBase class for unit testing shim behavior.
  
  This class mocks the `subprocess.run()` method because it gets called
  for all shim operations to check if there is an active account configured
  for gcloud.
  c                     t         |           t        j                  j	                  t
        dd      | _        | j                  j                         | _        d| j                  j                  _
        y )NrunT)autospecr   )supersetUpr   patchobject
subprocess_subprocess_run_patcherstart_mock_subprocess_runreturn_value
returncodeself	__class__s    ;platform/gsutil/gslib/tests/testcase/shim_unit_test_base.pyr   zShimUnitTestBase.setUp   s`    	GMO $(::#4#4Z5:>B $5 $DD  !% < < B B DD89D**5    c                 n    | j                   | j                   j                          t        |           y )N)r   stopr
   tearDownr   s    r   r   zShimUnitTestBase.tearDown,   s,    ##/
""'')	Gr   )__name__
__module____qualname____doc__r   r   __classcell__)r   s   @r   r   r      s    : r   r   )r   r   unittestr   "gslib.tests.testcase.unit_testcaser   r    r   r   <module>r$      s     :   A) r   