
    &                     >    S r SSKrSSKJr  SSKJr   " S S\5      rg)z3Contains base class to be used for shim unit tests.    N)mock)GsUtilUnitTestCasec                   8   ^  \ rS rSrSrU 4S jrU 4S jrSrU =r$ )ShimUnitTestBase   zBase 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U ]  5         [        R                  R	                  [
        SSS9U l        U R                  R                  5       U l        SU R                  R                  l
        g )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   ShimUnitTestBase.setUp   s`    	GMO $(::#4#4Z5:>B $5 $DD  !% < < B B DD89D**5    c                 p   > U R                   b  U R                   R                  5         [        TU ]  5         g )N)r   stopr   tearDownr   s    r   r   ShimUnitTestBase.tearDown,   s,    ##/
""'')	Gr   )r   r   )	__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes____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   