
                             S r SSKJr  SSKJr  SSKJs  Jr  SSKrSSKJ	r	J
r
  \	" \
" SSS5      5        SSKJr   " S	 S
\R                  5      rg)z4Unit tests for hashing helper functions and classes.    )system_util)GetUserAgentN)add_moveMovedModulemockzunittest.mock)r   c                   X   \ rS rSrSr\R                  " SS5      S 5       rS r\R                  R                  \
S5      S 5       rS	 r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       rS rS r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S
5      S 5       r\R                  R                  \
S5      \R                  R                  \
S
5      S 5       5       rSrg)TestUserAgentHelper   z0Unit tests for the GetUserAgent helper function.zgslib.VERSION4_testc                 :    U R                  [        / 5      S5        g )Nz^ gsutil/4_test \([^\)]+\)assertRegexr   selfs    5platform/gsutil/gslib/tests/test_user_agent_helper.py
testNoArgsTestUserAgentHelper.testNoArgs   s    \"%'DE    c                 t    U R                  [        / S5      S5        U R                  [        / S5      S5        g )NFzanalytics/enabledTzanalytics/disabledr   r   s    r   testAnalyticsFlag%TestUserAgentHelper.testAnalyticsFlag#   s2    \"e,.BC\"d+-BCr   IsRunningInteractivelyc                     SUl         U R                  [        / 5      S5        SUl         U R                  [        / 5      S5        g )NTzinteractive/TrueFzinteractive/Falsereturn_valuer   r   )r   mock_interactives     r   testInteractiveFlag'TestUserAgentHelper.testInteractiveFlag'   s@    $(!\"%':;$)!\"%';<r   c                 <    U R                  [        S/5      S5        g )Nhelpzcommand/helpr   r   s    r   testHelpTestUserAgentHelper.testHelp.   s    \6(+_=r   InvokedViaCloudSdkc                 L    SUl         U R                  [        / SQ5      S5        g )NF)cp-r-Z1.txtgs://dstcommand/cp$r   r   mock_invokeds     r   testCpTestUserAgentHelper.testCp1   s#     %L\"IJ#%r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)r%   -mr(   r)   zcommand/cp-m$r   r+   s     r   testCpWithMultiprocessing-TestUserAgentHelper.testCpWithMultiprocessing7   s#     %L\"CD%'r   c                     SUl         U R                  [        S/5      S5        U R                  [        SS/5      S5        U R                  [        / SQ5      S5        g )NFr%   r*   r(   )r%   r&   z1.tsr   r+   s     r   testCpNotEnoughArgs'TestUserAgentHelper.testCpNotEnoughArgs=   sP     %L\4&)>:\4/2NC\"67Hr   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)r%   u   öneu   twör*   r   r+   s     r   testCpEncoding"TestUserAgentHelper.testCpEncodingD   s      %L\"89>Jr   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)rsyncr(   r)   zcommand/rsync$r   r+   s     r   	testRsyncTestUserAgentHelper.testRsyncI   s#     %L\"@A&(r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)mvgs://src/1.txtzgs://dst/1.txtzcommand/mv$r   r+   s     r   testMvTestUserAgentHelper.testMvO   s#     %L\"LM#%r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)r%   r&   gs://srcr)   r*   r   r+   s     r   testCpCloudToCloud&TestUserAgentHelper.testCpCloudToCloudU   #     %L\"FG#%r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)r%   z-DrC   r)   r*   r   r+   s     r   testCpForcedDaisyChain*TestUserAgentHelper.testCpForcedDaisyChain[   rF   r   c                     U R                  [        / SQ5      S5        U R                  [        / SQ5      S5        U R                  [        / SQ5      S5        g )N)r%   r&   r'   rC   s3://dstzcommand/cp-DaisyChain)r>   r?   zs3://dst/1.txtzcommand/mv-DaisyChain)r:   r&   rC   rK   zcommand/rsync-DaisyChainr   r   s    r   testCpDaisyChain$TestUserAgentHelper.testCpDaisyChaina   sM    \"LM-/\"LM-/\"IJ02r   c                 >    U R                  [        / SQ5      S5        g )N)r%   r&   r'   r0   rC   rK   zcommand/cp-DaisyChain-mr   r   s    r   #testCpDaisyChainWithMultiprocessing7TestUserAgentHelper.testCpDaisyChainWithMultiprocessingi   s    EF"$r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)r%   r&   r'   z	bad://srcrK   r*   r   r+   s     r   testPassOnInvalidUrlError-TestUserAgentHelper.testPassOnInvalidUrlErrorn   s#     %L\"MN#%r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)rewrite-kr)   zcommand/rewrite-k$r   r+   s     r   testRewriteEncryptionKey,TestUserAgentHelper.testRewriteEncryptionKeyt   #     %L\"?@*,r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)rU   -sr)   zcommand/rewrite-s$r   r+   s     r   testRewriteStorageClass+TestUserAgentHelper.testRewriteStorageClassz   rY   r   c                 L    SUl         U R                  [        / SQ5      S5        g )NF)rU   rV   r[   r)   zcommand/rewrite-k-s$r   r+   s     r   'testRewriteEncryptionKeyAndStorageClass;TestUserAgentHelper.testRewriteEncryptionKeyAndStorageClass   s#     %L\"EF,.r   CloudSdkVersionc                     SUl         SUl         U R                  [        S/5      S5        SUl         SUl         U R                  [        S/5      S5        g )NTz500.1r    zgoogle-cloud-sdk/500.1$Fzcommand/help$r   )r   r,   mock_versions      r   testCloudSdk TestUserAgentHelper.testCloudSdk   sT     !%L 'L\6(+-GH %L 'L\6(+-=>r    N)__name__
__module____qualname____firstlineno____doc__r   patchr   r   objectr   r   r!   r-   r1   r4   r7   r;   r@   rD   rH   rL   rO   rR   rW   r\   r_   rd   __static_attributes__rf   r   r   r	   r	      sk   8::ox(F )FD ::[":;= <=> ::["67% 8%
 ::["67' 8'
 ::["67I 8I ::["67K 8K ::["67( 8(
 ::["67% 8%
 ::["67% 8%
 ::["67% 8%
2$
 ::["67% 8%
 ::["67, 8,
 ::["67, 8,
 ::["67. 8.
 ::["34::["67? 8 5?r   r	   )rk   gslib.utilsr   gslib.utils.user_agent_helperr   gslib.tests.testcaseteststestcasesixr   r   	six.movesr   GsUtilUnitTestCaser	   rf   r   r   <module>rw      sD    ; # 6 ' ' 
 % VV_	5 6 r?(55 r?r   