
    q                         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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  G d de      Zy)z*Unit tests for functions in rsync command.    )absolute_import)print_function)division)unicode_literalsN)_ComputeNeededFileChecksums)_NA)GsUtilUnitTestCase)%CalculateB64EncodedCrc32cFromContents)"CalculateB64EncodedMd5FromContentsc                       e Zd Zd Zy)TestRsyncFuncsc                 0   d}t        j                         }| j                         }dt        j                  j                  |d      z  }| j                  |dd       d}t        t        j                  j                  |d      d      5 }t        |      }|j                  d       t        |      }d	d	d	       t        |||t        t        ||t        	      \  }	}
}}| j                  ||	       | j                  t        |
       | j                  ||       | j                  t        |       t        |||t        t        ||t        	      \  }	}
}}| j                  t        |	       | j                  ||
       | j                  t        |       | j                  ||       t        ||||t        ||t        t        	      \  }	}
}}| j                  ||       | j                  t        |
       | j                  ||	       | j                  t        |
       t        |||t        |||t        t        	      \  }	}
}}| j                  t        |       | j                  ||
       | j                  t        |	       | j                  ||
       y	# 1 sw Y   xY w)
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_checksumsz1TestRsyncFuncs.test_compute_needed_file_checksums"   sQ   D F!Fff!==Lv'J#M	bggll66*D	1R4R8fggaj.r2c 
2 ,FL$,/f,/1Z* 	VZ(S'"VZ(S'" ,FL$,/c3PZ*S*%S'"S*%S'" ,FM4,/tS#OZ*VZ(S'"VZ(S'" ,FM4,/tS#OZ*S*%S'"S*%S'"Q 
2	1s   
(JJN)__name__
__module____qualname__r,        r+   r   r       s    0#r1   r   )__doc__
__future__r   r   r   r   r   r   gslib.commands.rsyncr   r   "gslib.tests.testcase.unit_testcaser	   gslib.utils.hashing_helperr
   r   r   r0   r1   r+   <module>r7      s8    1 & %  '  	 < $ A L I2#' 2#r1   