@@ -1782,9 +1782,8 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURL() {
17821782 destFClient := shareClient .NewRootDirectoryClient ().NewFileClient ("dest" + testcommon .GenerateFileName (testName ))
17831783 _ , err = destFClient .Create (context .Background (), fileSize , nil )
17841784 _require .NoError (err )
1785-
17861785 uResp , err := destFClient .UploadRangeFromURL (context .Background (), srcFileSAS , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
1787- SourceContentCRC64 : contentCRC64 ,
1786+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
17881787 })
17891788 _require .NoError (err )
17901789 _require .NotNil (uResp .XMSContentCRC64 )
@@ -1834,7 +1833,7 @@ func (f *FileRecordedTestsSuite) TestFileUploadRangeFromURLNegative() {
18341833 destFClient := testcommon .CreateNewFileFromShare (context .Background (), _require , "dest" + testcommon .GenerateFileName (testName ), fileSize , shareClient )
18351834
18361835 _ , err = destFClient .UploadRangeFromURL (context .Background (), srcFClient .URL (), 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
1837- SourceContentCRC64 : contentCRC64 ,
1836+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
18381837 })
18391838 _require .Error (err )
18401839}
@@ -1915,7 +1914,7 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURLCopySourceAuthBlob(
19151914
19161915 blobURL := blobClient .ServiceClient ().NewContainerClient (containerName ).NewBlockBlobClient (blobName ).URL ()
19171916 uResp , err := destFClient .UploadRangeFromURL (context .Background (), blobURL , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
1918- SourceContentCRC64 : contentCRC64 ,
1917+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
19191918 CopySourceAuthorization : to .Ptr ("Bearer " + accessToken .Token ),
19201919 })
19211920 _require .NoError (err )
@@ -1937,6 +1936,72 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURLCopySourceAuthBlob(
19371936 _require .EqualValues (data , content )
19381937}
19391938
1939+ func (f * FileUnrecordedTestsSuite ) TestFileUploadRangeFromURLWithEmptyUploadRangeFromURLOptions () {
1940+ _require := require .New (f .T ())
1941+ testName := f .T ().Name ()
1942+
1943+ cred , err := testcommon .GetGenericSharedKeyCredential (testcommon .TestAccountDefault )
1944+ _require .NoError (err )
1945+
1946+ svcClient , err := testcommon .GetServiceClient (f .T (), testcommon .TestAccountDefault , nil )
1947+ _require .NoError (err )
1948+
1949+ shareName := testcommon .GenerateShareName (testName )
1950+ shareClient := testcommon .CreateNewShare (context .Background (), _require , shareName , svcClient )
1951+ defer testcommon .DeleteShare (context .Background (), _require , shareClient )
1952+
1953+ var fileSize int64 = 1024 * 20
1954+ srcFileName := "src" + testcommon .GenerateFileName (testName )
1955+ srcFClient := shareClient .NewRootDirectoryClient ().NewFileClient (srcFileName )
1956+ _ , err = srcFClient .Create (context .Background (), fileSize , nil )
1957+ _require .NoError (err )
1958+
1959+ gResp , err := srcFClient .GetProperties (context .Background (), nil )
1960+ _require .NoError (err )
1961+ _require .Equal (* gResp .ContentLength , fileSize )
1962+
1963+ contentSize := 1024 * 8 // 8KB
1964+ content := make ([]byte , contentSize )
1965+ body := bytes .NewReader (content )
1966+ rsc := streaming .NopCloser (body )
1967+
1968+ _ , err = srcFClient .UploadRange (context .Background (), 0 , rsc , nil )
1969+ _require .NoError (err )
1970+
1971+ perms := sas.FilePermissions {Read : true , Write : true }
1972+ sasQueryParams , err := sas.SignatureValues {
1973+ Protocol : sas .ProtocolHTTPS , // Users MUST use HTTPS (not HTTP)
1974+ ExpiryTime : time .Now ().UTC ().Add (48 * time .Hour ), // 48-hours before expiration
1975+ ShareName : shareName ,
1976+ FilePath : srcFileName ,
1977+ Permissions : perms .String (),
1978+ }.SignWithSharedKey (cred )
1979+ _require .NoError (err )
1980+
1981+ srcFileSAS := srcFClient .URL () + "?" + sasQueryParams .Encode ()
1982+
1983+ destFClient := shareClient .NewRootDirectoryClient ().NewFileClient ("dest" + testcommon .GenerateFileName (testName ))
1984+ _ , err = destFClient .Create (context .Background (), fileSize , nil )
1985+ _require .NoError (err )
1986+ uResp , err := destFClient .UploadRangeFromURL (context .Background (), srcFileSAS , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {})
1987+ _require .NoError (err )
1988+ _require .NotNil (uResp .XMSContentCRC64 )
1989+
1990+ rangeList , err := destFClient .GetRangeList (context .Background (), nil )
1991+ _require .NoError (err )
1992+ _require .Len (rangeList .Ranges , 1 )
1993+ _require .Equal (* rangeList .Ranges [0 ].Start , int64 (0 ))
1994+ _require .Equal (* rangeList .Ranges [0 ].End , int64 (contentSize - 1 ))
1995+
1996+ cResp , err := destFClient .ClearRange (context .Background (), file.HTTPRange {Offset : 0 , Count : int64 (contentSize )}, nil )
1997+ _require .NoError (err )
1998+ _require .Nil (cResp .ContentMD5 )
1999+
2000+ rangeList2 , err := destFClient .GetRangeList (context .Background (), nil )
2001+ _require .NoError (err )
2002+ _require .Len (rangeList2 .Ranges , 0 )
2003+ }
2004+
19402005func (f * FileUnrecordedTestsSuite ) TestFileUploadBuffer () {
19412006 _require := require .New (f .T ())
19422007 testName := f .T ().Name ()
@@ -4074,7 +4139,7 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURLTrailingDot() {
40744139 destFClient := testcommon .CreateNewFileFromShare (context .Background (), _require , "destFile.." , fileSize , shareClient )
40754140
40764141 uResp , err := destFClient .UploadRangeFromURL (context .Background (), srcFileSAS , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
4077- SourceContentCRC64 : contentCRC64 ,
4142+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
40784143 })
40794144 _require .NoError (err )
40804145 _require .NotNil (uResp .XMSContentCRC64 )
@@ -4210,8 +4275,8 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURLPreserve() {
42104275 _require .NotNil (cResp .FileLastWriteTime )
42114276
42124277 uResp , err := destFClient .UploadRangeFromURL (context .Background (), srcFileSAS , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
4213- SourceContentCRC64 : contentCRC64 ,
4214- LastWrittenMode : to .Ptr (file .LastWrittenModePreserve ),
4278+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
4279+ LastWrittenMode : to .Ptr (file .LastWrittenModePreserve ),
42154280 })
42164281 _require .NoError (err )
42174282 _require .NotNil (uResp .XMSContentCRC64 )
@@ -4265,8 +4330,8 @@ func (f *FileUnrecordedTestsSuite) TestFileUploadRangeFromURLNow() {
42654330 _require .NotNil (cResp .FileLastWriteTime )
42664331
42674332 uResp , err := destFClient .UploadRangeFromURL (context .Background (), srcFileSAS , 0 , 0 , int64 (contentSize ), & file.UploadRangeFromURLOptions {
4268- SourceContentCRC64 : contentCRC64 ,
4269- LastWrittenMode : to .Ptr (file .LastWrittenModeNow ),
4333+ SourceContentValidation : file . SourceContentValidationTypeCRC64 ( contentCRC64 ) ,
4334+ LastWrittenMode : to .Ptr (file .LastWrittenModeNow ),
42704335 })
42714336 _require .NoError (err )
42724337 _require .NotNil (uResp .XMSContentCRC64 )
0 commit comments