
    q                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKrSSKrSSKJ	r	  SSKJ
r
  SS	KJr  SS
KJr  SSKJr   " S S\5      rg)z*Unit tests for functions in rsync command.    )absolute_import)print_function)division)unicode_literalsN)_ComputeNeededFileChecksums)_NA)GsUtilUnitTestCase)%CalculateB64EncodedCrc32cFromContents)"CalculateB64EncodedMd5FromContentsc                       \ rS rSrS rSrg)TestRsyncFuncs    c                    Sn[         R                  " 5       nU R                  5       nS[        R                  R                  US5      -  nU R                  USSS9  Sn[        [        R                  R                  US5      S5       n[        U5      nUR                  S5        [        U5      nS	S	S	5        [        X$U[        [        XQW[        5	      u  pnnU R                  Xy5        U R                  [        U
5        U R                  X{5        U R                  [        U5        [        X$U[        [        XQ[        W5	      u  pnnU R                  [        U	5        U R                  X5        U R                  [        U5        U R                  X5        [        X%X[        XA[        [        5	      u  pnnU R                  X{5        U R                  [        U
5        U R                  Xy5        U R                  [        U
5        [        X%U[        XU[        [        5	      u  pnnU R                  [        U5        U R                  X5        U R                  [        U	5        U R                  X5        g	! , (       d  f       GN= f)
z5Tests that we compute all/only needed file checksums.   z	file://%sobj1s   obj1)tmpdir	file_namecontentszgs://whateverrbr   N)logging	getLoggerCreateTempDirospathjoinCreateTempFileopenr
   seekr   r   r   assertEqual)selfsizeloggerr   file_url_strcloud_url_strfpcrc32cmd5
src_crc32csrc_md5
dst_crc32cdst_md5s                /platform/gsutil/gslib/tests/test_rsync_funcs.py"test_compute_needed_file_checksums1TestRsyncFuncs.test_compute_needed_file_checksums"   s'   D F!Fff!==Lv'J#M	bggll66*D	1R4R8fggaj.r2c 
2 ,F$,/f,/1Z* 	V(S'"V(S'" ,F$,/c3PZ*S*%S"S*%S" ,F4,/S#OZ*V(S'"V(S'" ,F4,/tS#OZ*S*%S"S*%S"Q 
2	1s   (I44
J N)__name__
__module____qualname____firstlineno__r-   __static_attributes__r/       r,   r   r       s    0#r5   r   )__doc__
__future__r   r   r   r   r   r   gslib.commands.rsyncr   r   "gslib.tests.testcase.unit_testcaser	   gslib.utils.hashing_helperr
   r   r   r/   r5   r,   <module>r;      s8    1 & %  '  	 < $ A L I2#' 2#r5   