Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions sdk/storage/azure-storage-file-share/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## 12.11.0-beta.1 (Unreleased)
- Added support to reliably download a file.
- Added support for the 2020-10-02 service version.
- Fixed a bug that was cause an Exception when downloading a zero length file.

## 12.10.0 (2021-06-09)
- GA release
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -934,7 +934,7 @@ Mono<ShareFileDownloadAsyncResponse> downloadWithResponse(ShareFileDownloadOptio

private Mono<StreamResponse> downloadRange(ShareFileRange range, Boolean rangeGetContentMD5,
ShareRequestConditions requestConditions, Context context) {
String rangeString = range == null ? null : range.toString();
String rangeString = range == null ? null : range.toHeaderValue();
return azureFileStorageClient.getFiles().downloadWithResponseAsync(shareName, filePath, null,
rangeString, rangeGetContentMD5, requestConditions.getLeaseId(), context);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -423,9 +423,10 @@ class FileAPITests extends APISpec {
headers.getContentLanguage() == null
}

@Unroll
def "Download empty file"() {
setup:
primaryFileClient.create(1)
primaryFileClient.create(fileSize)

when:
def outStream = new ByteArrayOutputStream()
Expand All @@ -434,8 +435,15 @@ class FileAPITests extends APISpec {

then:
notThrown(ShareStorageException)
result.length == 1
!result[0]
result.length == fileSize
if (fileSize > 0) {
assert !result[0]
}

where:
fileSize | _
0 | _
1 | _
}

/*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
{
"networkCallRecords" : [ {
"Method" : "PUT",
"Uri" : "http://REDACTED.file.core.windows.net/9d333c709d333c70fba94600fd73eec9fb234ee0a6?restype=share",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "531d5496-b049-4f98-83a8-efb1446c394a"
},
"Response" : {
"content-length" : "0",
"x-ms-version" : "2020-10-02",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"eTag" : "0x8D94E2B56247CF4",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:48 GMT",
"retry-after" : "0",
"StatusCode" : "201",
"x-ms-request-id" : "eb6801dd-101a-0028-5a14-80bb6a000000",
"x-ms-client-request-id" : "531d5496-b049-4f98-83a8-efb1446c394a",
"Date" : "Fri, 23 Jul 2021 22:43:48 GMT"
},
"Exception" : null
}, {
"Method" : "PUT",
"Uri" : "http://REDACTED.file.core.windows.net/9d333c709d333c70fba94600fd73eec9fb234ee0a6/9d333c709d333c70fba40108939f74771690471384",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "a3cc3709-8ce2-4344-9bb4-b63bed655175"
},
"Response" : {
"content-length" : "0",
"x-ms-version" : "2020-10-02",
"x-ms-file-permission-key" : "8870206874218656067*15256408171089631693",
"x-ms-file-id" : "13835128424026341376",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"x-ms-file-creation-time" : "2021-07-23T22:43:49.0303180Z",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:49 GMT",
"retry-after" : "0",
"StatusCode" : "201",
"x-ms-request-server-encrypted" : "true",
"Date" : "Fri, 23 Jul 2021 22:43:48 GMT",
"x-ms-file-attributes" : "Archive",
"x-ms-file-change-time" : "2021-07-23T22:43:49.0303180Z",
"x-ms-file-parent-id" : "0",
"eTag" : "0x8D94E2B566EE0CC",
"x-ms-request-id" : "053a3180-101a-0007-0d14-80b6a1000000",
"x-ms-client-request-id" : "a3cc3709-8ce2-4344-9bb4-b63bed655175",
"x-ms-file-last-write-time" : "2021-07-23T22:43:49.0303180Z"
},
"Exception" : null
}, {
"Method" : "GET",
"Uri" : "http://REDACTED.file.core.windows.net/9d333c709d333c70fba94600fd73eec9fb234ee0a6/9d333c709d333c70fba40108939f74771690471384",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "01739042-a73a-4650-a9ed-80b3572db494"
},
"Response" : {
"content-length" : "0",
"x-ms-version" : "2020-10-02",
"x-ms-lease-status" : "unlocked",
"x-ms-file-permission-key" : "8870206874218656067*15256408171089631693",
"x-ms-file-id" : "13835128424026341376",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"x-ms-file-creation-time" : "2021-07-23T22:43:49.0303180Z",
"x-ms-lease-state" : "available",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:49 GMT",
"retry-after" : "0",
"StatusCode" : "200",
"Date" : "Fri, 23 Jul 2021 22:43:49 GMT",
"Accept-Ranges" : "bytes",
"x-ms-server-encrypted" : "true",
"x-ms-type" : "File",
"x-ms-file-attributes" : "Archive",
"x-ms-file-change-time" : "2021-07-23T22:43:49.0303180Z",
"x-ms-file-parent-id" : "0",
"eTag" : "0x8D94E2B566EE0CC",
"x-ms-request-id" : "eb68020b-101a-0028-6e14-80bb6a000000",
"x-ms-client-request-id" : "01739042-a73a-4650-a9ed-80b3572db494",
"x-ms-file-last-write-time" : "2021-07-23T22:43:49.0303180Z",
"Content-Type" : "application/octet-stream"
},
"Exception" : null
} ],
"variables" : [ "9d333c709d333c70fba94600fd73eec9fb234ee0a6", "9d333c709d333c70fba40108939f74771690471384" ]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"networkCallRecords" : [ {
"Method" : "PUT",
"Uri" : "http://REDACTED.file.core.windows.net/84280d3184280d316c5987171a54c1eb72a24bf5a4?restype=share",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "5ce6a806-65da-4418-950c-ec29848ef929"
},
"Response" : {
"content-length" : "0",
"x-ms-version" : "2020-10-02",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"eTag" : "0x8D94E2B56245AF9",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:48 GMT",
"retry-after" : "0",
"StatusCode" : "201",
"x-ms-request-id" : "053a3157-101a-0007-6a14-80b6a1000000",
"x-ms-client-request-id" : "5ce6a806-65da-4418-950c-ec29848ef929",
"Date" : "Fri, 23 Jul 2021 22:43:47 GMT"
},
"Exception" : null
}, {
"Method" : "PUT",
"Uri" : "http://REDACTED.file.core.windows.net/84280d3184280d316c5987171a54c1eb72a24bf5a4/84280d3184280d316c56691523bafecac27c4bb0bc",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "ef9391e2-d996-4790-a675-fff7718f97d1"
},
"Response" : {
"content-length" : "0",
"x-ms-version" : "2020-10-02",
"x-ms-file-permission-key" : "8870206874218656067*15256408171089631693",
"x-ms-file-id" : "13835128424026341376",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"x-ms-file-creation-time" : "2021-07-23T22:43:49.0313178Z",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:49 GMT",
"retry-after" : "0",
"StatusCode" : "201",
"x-ms-request-server-encrypted" : "true",
"Date" : "Fri, 23 Jul 2021 22:43:49 GMT",
"x-ms-file-attributes" : "Archive",
"x-ms-file-change-time" : "2021-07-23T22:43:49.0313178Z",
"x-ms-file-parent-id" : "0",
"eTag" : "0x8D94E2B566F07DA",
"x-ms-request-id" : "eb680203-101a-0028-6b14-80bb6a000000",
"x-ms-client-request-id" : "ef9391e2-d996-4790-a675-fff7718f97d1",
"x-ms-file-last-write-time" : "2021-07-23T22:43:49.0313178Z"
},
"Exception" : null
}, {
"Method" : "GET",
"Uri" : "http://REDACTED.file.core.windows.net/84280d3184280d316c5987171a54c1eb72a24bf5a4/84280d3184280d316c56691523bafecac27c4bb0bc",
"Headers" : {
"x-ms-version" : "2020-10-02",
"User-Agent" : "azsdk-java-azure-storage-file-share/12.11.0-beta.1 (11.0.7; Windows 10; 10.0)",
"x-ms-client-request-id" : "7238eebc-381d-4004-9452-0cd49eb5efd0"
},
"Response" : {
"content-length" : "1",
"x-ms-version" : "2020-10-02",
"x-ms-lease-status" : "unlocked",
"x-ms-file-permission-key" : "8870206874218656067*15256408171089631693",
"x-ms-file-id" : "13835128424026341376",
"Server" : "Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0",
"x-ms-file-creation-time" : "2021-07-23T22:43:49.0313178Z",
"x-ms-lease-state" : "available",
"Last-Modified" : "Fri, 23 Jul 2021 22:43:49 GMT",
"retry-after" : "0",
"StatusCode" : "200",
"Date" : "Fri, 23 Jul 2021 22:43:48 GMT",
"Accept-Ranges" : "bytes",
"x-ms-server-encrypted" : "true",
"x-ms-type" : "File",
"x-ms-file-attributes" : "Archive",
"x-ms-file-change-time" : "2021-07-23T22:43:49.0313178Z",
"x-ms-file-parent-id" : "0",
"eTag" : "0x8D94E2B566F07DA",
"x-ms-request-id" : "053a3189-101a-0007-1214-80b6a1000000",
"Body" : "AA==",
"x-ms-client-request-id" : "7238eebc-381d-4004-9452-0cd49eb5efd0",
"x-ms-file-last-write-time" : "2021-07-23T22:43:49.0313178Z",
"Content-Type" : "application/octet-stream"
},
"Exception" : null
} ],
"variables" : [ "84280d3184280d316c5987171a54c1eb72a24bf5a4", "84280d3184280d316c56691523bafecac27c4bb0bc" ]
}