Skip to content

Commit 8dbca69

Browse files
authored
[Storage] Move service version. (Azure#22966)
* move sv. * fix vlw tests. * assert mgmt plane response. * is that better? * fix vlw tests. * fix that test... * fix that test...
1 parent 77b5c7d commit 8dbca69

File tree

11 files changed

+215
-98
lines changed

11 files changed

+215
-98
lines changed

sdk/storage/azure-storage-blob/src/main/java/com/azure/storage/blob/BlobServiceVersion.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ public String getVersion() {
3838
* @return the latest {@link BlobServiceVersion}
3939
*/
4040
public static BlobServiceVersion getLatest() {
41-
return V2020_08_04;
41+
return V2020_10_02;
4242
}
4343
}

sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ContainerAPITest.groovy

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -926,8 +926,10 @@ class ContainerAPITest extends APISpec {
926926
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2020_10_02")
927927
def "list blobs flat options deleted with versions"() {
928928
setup:
929+
def versionedCC = versionedBlobServiceClient.getBlobContainerClient(getContainerName())
930+
versionedCC.create()
929931
def blobName = generateBlobName()
930-
def blob = cc.getBlobClient(blobName).getAppendBlobClient()
932+
def blob = versionedCC.getBlobClient(blobName).getAppendBlobClient()
931933
blob.create()
932934
def metadata = new HashMap<String, String>()
933935
metadata.put("foo", "bar")
@@ -937,13 +939,16 @@ class ContainerAPITest extends APISpec {
937939
.setDetails(new BlobListDetails().setRetrieveDeletedBlobsWithVersions(true))
938940

939941
when:
940-
def blobs = cc.listBlobs(options, null).iterator()
942+
def blobs = versionedCC.listBlobs(options, null).iterator()
941943

942944
then:
943945
def b = blobs.next()
944946
!blobs.hasNext()
945947
b.getName() == blobName
946948
b.hasVersionsOnly()
949+
950+
cleanup:
951+
versionedCC.delete()
947952
}
948953

949954
def "List blobs prefix with comma"() {
@@ -1331,8 +1336,10 @@ class ContainerAPITest extends APISpec {
13311336
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "V2020_10_02")
13321337
def "list blobs hier options deleted with versions"() {
13331338
setup:
1339+
def versionedCC = versionedBlobServiceClient.getBlobContainerClient(getContainerName())
1340+
versionedCC.create()
13341341
def blobName = generateBlobName()
1335-
def blob = cc.getBlobClient(blobName).getAppendBlobClient()
1342+
def blob = versionedCC.getBlobClient(blobName).getAppendBlobClient()
13361343
blob.create()
13371344
def metadata = new HashMap<String, String>()
13381345
metadata.put("foo", "bar")
@@ -1342,13 +1349,16 @@ class ContainerAPITest extends APISpec {
13421349
.setDetails(new BlobListDetails().setRetrieveDeletedBlobsWithVersions(true))
13431350

13441351
when:
1345-
def blobs = cc.listBlobsByHierarchy("", options, null).iterator()
1352+
def blobs = versionedCC.listBlobsByHierarchy("", options, null).iterator()
13461353

13471354
then:
13481355
def b = blobs.next()
13491356
!blobs.hasNext()
13501357
b.getName() == blobName
13511358
b.hasVersionsOnly()
1359+
1360+
cleanup:
1361+
versionedCC.delete()
13521362
}
13531363

13541364
@Unroll

sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/ImmutableStorageWithVersioningTest.groovy

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ class ImmutableStorageWithVersioningTest extends APISpec {
5656

5757
private BlobContainerClient vlwContainer;
5858
private BlobClient vlwBlob
59-
private String accountName = env.primaryAccount.name
59+
private String accountName = env.versionedAccount.name
6060
private String containerName
61-
private String resourceGroupName = "XClient"
62-
private String subscriptionId = "ba45b233-e2ef-4169-8808-49eb0d8eba0d"
61+
private String resourceGroupName = env.resourceGroupName
62+
private String subscriptionId = env.subscriptionId
6363
private String apiVersion = "2021-04-01"
6464
private TokenCredential credential = new EnvironmentCredentialBuilder().build()
6565
private BearerTokenAuthenticationPolicy credentialPolicy = new BearerTokenAuthenticationPolicy(credential, "https://management.azure.com/.default")
@@ -89,12 +89,16 @@ class ImmutableStorageWithVersioningTest extends APISpec {
8989

9090
String serializedBody = new ObjectMapper().writeValueAsString(body)
9191

92-
httpPipeline.send(new HttpRequest(HttpMethod.PUT, new URL(url), new HttpHeaders(),
92+
def response = httpPipeline.send(new HttpRequest(HttpMethod.PUT, new URL(url), new HttpHeaders(),
9393
Flux.just(ByteBuffer.wrap(serializedBody.getBytes(StandardCharsets.UTF_8)))))
9494
.block()
95+
if (response.statusCode != 201) {
96+
println response.getBodyAsString().block()
97+
}
98+
assert response.statusCode == 201
9599
}
96100

97-
vlwContainer = primaryBlobServiceClient.getBlobContainerClient(containerName)
101+
vlwContainer = versionedBlobServiceClient.getBlobContainerClient(containerName)
98102
vlwBlob = vlwContainer.getBlobClient(generateBlobName())
99103
vlwBlob.upload(new ByteArrayInputStream(new byte[0]), 0)
100104
}
@@ -122,8 +126,8 @@ class ImmutableStorageWithVersioningTest extends APISpec {
122126
.build()
123127
def cleanupClient = new BlobServiceClientBuilder()
124128
.httpClient(getHttpClient())
125-
.credential(env.primaryAccount.credential)
126-
.endpoint(env.primaryAccount.blobEndpoint)
129+
.credential(env.versionedAccount.credential)
130+
.endpoint(env.versionedAccount.blobEndpoint)
127131
.buildClient()
128132

129133
def options = new ListBlobContainersOptions().setPrefix(namer.getResourcePrefix())
@@ -617,7 +621,7 @@ class ImmutableStorageWithVersioningTest extends APISpec {
617621
def immutabilityPolicy = new BlobImmutabilityPolicy()
618622
.setExpiryTime(expiryTime)
619623
.setPolicyMode(BlobImmutabilityPolicyMode.UNLOCKED)
620-
def sas = primaryBlobServiceClient.generateAccountSas(sasValues)
624+
def sas = versionedBlobServiceClient.generateAccountSas(sasValues)
621625
def client = getBlobClient(sas, vlwContainer.getBlobContainerUrl(), vlwBlob.getBlobName())
622626

623627
when:
Lines changed: 80 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,99 @@
11
{
22
"networkCallRecords" : [ {
33
"Method" : "PUT",
4-
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e76780860dbc07e929472486d90d?restype=container",
4+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23?restype=container",
55
"Headers" : {
66
"x-ms-version" : "2020-10-02",
7-
"User-Agent" : "azsdk-java-azure-storage-blob/12.12.0-beta.2 (11.0.7; Windows 10; 10.0)",
8-
"x-ms-client-request-id" : "230a2772-1c69-4408-9f21-2424e9a84d78"
7+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
8+
"x-ms-client-request-id" : "307abd84-9a14-40eb-b962-2e369b7ee5cc"
99
},
1010
"Response" : {
1111
"content-length" : "0",
1212
"x-ms-version" : "2020-10-02",
1313
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
14-
"eTag" : "0x8D9252E3D6FD9CB",
15-
"Last-Modified" : "Tue, 01 Jun 2021 18:51:17 GMT",
14+
"eTag" : "0x8D94D5D684D8629",
15+
"Last-Modified" : "Thu, 22 Jul 2021 22:09:42 GMT",
1616
"retry-after" : "0",
1717
"StatusCode" : "201",
18-
"x-ms-request-id" : "6d10ded9-c01e-0014-6917-5792ad000000",
19-
"x-ms-client-request-id" : "230a2772-1c69-4408-9f21-2424e9a84d78",
20-
"Date" : "Tue, 01 Jun 2021 18:51:17 GMT"
18+
"x-ms-request-id" : "0eb1676e-401e-0005-0546-7f186a000000",
19+
"x-ms-client-request-id" : "307abd84-9a14-40eb-b962-2e369b7ee5cc",
20+
"Date" : "Thu, 22 Jul 2021 22:09:41 GMT"
2121
},
2222
"Exception" : null
2323
}, {
2424
"Method" : "PUT",
25-
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e76780860dbc07e929472486d90d/8295186e18295186e767817414aac029851164b3b9b8",
25+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23?restype=container",
2626
"Headers" : {
2727
"x-ms-version" : "2020-10-02",
28-
"User-Agent" : "azsdk-java-azure-storage-blob/12.12.0-beta.2 (11.0.7; Windows 10; 10.0)",
29-
"x-ms-client-request-id" : "4c66d24b-834b-4a3f-845f-996c3121ba78"
28+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
29+
"x-ms-client-request-id" : "a6edab9a-a23e-4f5d-9e7d-6be8e8db0ae2"
3030
},
3131
"Response" : {
3232
"content-length" : "0",
3333
"x-ms-version" : "2020-10-02",
3434
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
35-
"eTag" : "0x8D9252E3DB29E26",
36-
"Last-Modified" : "Tue, 01 Jun 2021 18:51:18 GMT",
37-
"x-ms-version-id" : "2021-06-01T18:51:18.3475238Z",
35+
"eTag" : "0x8D94D5D689E677E",
36+
"Last-Modified" : "Thu, 22 Jul 2021 22:09:43 GMT",
3837
"retry-after" : "0",
3938
"StatusCode" : "201",
40-
"x-ms-request-id" : "6d10dfab-c01e-0014-5c17-5792ad000000",
39+
"x-ms-request-id" : "00e458a6-e01e-003b-7446-7f3a16000000",
40+
"x-ms-client-request-id" : "a6edab9a-a23e-4f5d-9e7d-6be8e8db0ae2",
41+
"Date" : "Thu, 22 Jul 2021 22:09:42 GMT"
42+
},
43+
"Exception" : null
44+
}, {
45+
"Method" : "PUT",
46+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23/8295186e18295186e35546888feef37328cac4f43b8b",
47+
"Headers" : {
48+
"x-ms-version" : "2020-10-02",
49+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
50+
"x-ms-client-request-id" : "4b0c9ed0-9c58-4c12-a3e7-0a9b51d8702c"
51+
},
52+
"Response" : {
53+
"content-length" : "0",
54+
"x-ms-version" : "2020-10-02",
55+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
56+
"eTag" : "0x8D94D5D68B90FD3",
57+
"Last-Modified" : "Thu, 22 Jul 2021 22:09:43 GMT",
58+
"x-ms-version-id" : "2021-07-22T22:09:43.3891795Z",
59+
"retry-after" : "0",
60+
"StatusCode" : "201",
61+
"x-ms-request-id" : "00e4590a-e01e-003b-4446-7f3a16000000",
4162
"x-ms-request-server-encrypted" : "true",
42-
"x-ms-client-request-id" : "4c66d24b-834b-4a3f-845f-996c3121ba78",
43-
"Date" : "Tue, 01 Jun 2021 18:51:18 GMT"
63+
"x-ms-client-request-id" : "4b0c9ed0-9c58-4c12-a3e7-0a9b51d8702c",
64+
"Date" : "Thu, 22 Jul 2021 22:09:42 GMT"
4465
},
4566
"Exception" : null
4667
}, {
4768
"Method" : "PUT",
48-
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e76780860dbc07e929472486d90d/8295186e18295186e767817414aac029851164b3b9b8?comp=metadata",
69+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23/8295186e18295186e35546888feef37328cac4f43b8b?comp=metadata",
4970
"Headers" : {
5071
"x-ms-version" : "2020-10-02",
51-
"User-Agent" : "azsdk-java-azure-storage-blob/12.12.0-beta.2 (11.0.7; Windows 10; 10.0)",
52-
"x-ms-client-request-id" : "eb48934a-df4c-47bf-90c5-945199f73eb1"
72+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
73+
"x-ms-client-request-id" : "0cda4997-f75c-425c-8f52-0093f9838e63"
5374
},
5475
"Response" : {
5576
"content-length" : "0",
5677
"x-ms-version" : "2020-10-02",
5778
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
58-
"eTag" : "0x8D9252E3DCCBA9B",
59-
"Last-Modified" : "Tue, 01 Jun 2021 18:51:18 GMT",
60-
"x-ms-version-id" : "2021-06-01T18:51:18.5196459Z",
79+
"eTag" : "0x8D94D5D68CB3B86",
80+
"Last-Modified" : "Thu, 22 Jul 2021 22:09:43 GMT",
81+
"x-ms-version-id" : "2021-07-22T22:09:43.5102635Z",
6182
"retry-after" : "0",
6283
"StatusCode" : "200",
63-
"x-ms-request-id" : "6d10dfdc-c01e-0014-7c17-5792ad000000",
84+
"x-ms-request-id" : "00e4594a-e01e-003b-0246-7f3a16000000",
6485
"x-ms-request-server-encrypted" : "true",
65-
"x-ms-client-request-id" : "eb48934a-df4c-47bf-90c5-945199f73eb1",
66-
"Date" : "Tue, 01 Jun 2021 18:51:18 GMT"
86+
"x-ms-client-request-id" : "0cda4997-f75c-425c-8f52-0093f9838e63",
87+
"Date" : "Thu, 22 Jul 2021 22:09:43 GMT"
6788
},
6889
"Exception" : null
6990
}, {
7091
"Method" : "DELETE",
71-
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e76780860dbc07e929472486d90d/8295186e18295186e767817414aac029851164b3b9b8",
92+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23/8295186e18295186e35546888feef37328cac4f43b8b",
7293
"Headers" : {
7394
"x-ms-version" : "2020-10-02",
74-
"User-Agent" : "azsdk-java-azure-storage-blob/12.12.0-beta.2 (11.0.7; Windows 10; 10.0)",
75-
"x-ms-client-request-id" : "6d85a718-b07e-4d6e-ac99-3b622bdf53b3"
95+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
96+
"x-ms-client-request-id" : "ef824596-665f-4f34-8cd0-b3986906a74d"
7697
},
7798
"Response" : {
7899
"content-length" : "0",
@@ -81,32 +102,51 @@
81102
"x-ms-delete-type-permanent" : "false",
82103
"retry-after" : "0",
83104
"StatusCode" : "202",
84-
"x-ms-request-id" : "6d10e00a-c01e-0014-1317-5792ad000000",
85-
"x-ms-client-request-id" : "6d85a718-b07e-4d6e-ac99-3b622bdf53b3",
86-
"Date" : "Tue, 01 Jun 2021 18:51:18 GMT"
105+
"x-ms-request-id" : "00e4597e-e01e-003b-3246-7f3a16000000",
106+
"x-ms-client-request-id" : "ef824596-665f-4f34-8cd0-b3986906a74d",
107+
"Date" : "Thu, 22 Jul 2021 22:09:43 GMT"
87108
},
88109
"Exception" : null
89110
}, {
90111
"Method" : "GET",
91-
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e76780860dbc07e929472486d90d?restype=container&comp=list&prefix=8295186e18295186e767817414aac029851164b3b9b8&include=deletedwithversions",
112+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23?restype=container&comp=list&prefix=8295186e18295186e35546888feef37328cac4f43b8b&include=deletedwithversions",
92113
"Headers" : {
93114
"x-ms-version" : "2020-10-02",
94-
"User-Agent" : "azsdk-java-azure-storage-blob/12.12.0-beta.2 (11.0.7; Windows 10; 10.0)",
95-
"x-ms-client-request-id" : "7bf450cd-e0d3-45a1-b672-6e34f25fa9d2"
115+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
116+
"x-ms-client-request-id" : "f788ae17-59ad-4a26-a189-8d77482c97e4"
96117
},
97118
"Response" : {
98119
"Transfer-Encoding" : "chunked",
99120
"x-ms-version" : "2020-10-02",
100121
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
101122
"retry-after" : "0",
102123
"StatusCode" : "200",
103-
"x-ms-request-id" : "6d10e03a-c01e-0014-2a17-5792ad000000",
104-
"Body" : "<?xml version=\"1.0\" encoding=\"utf-8\"?><EnumerationResults ServiceEndpoint=\"https://seanmcccanary3.blob.core.windows.net/\" ContainerName=\"8295186e08295186e76780860dbc07e929472486d90d\"><Prefix>8295186e18295186e767817414aac029851164b3b9b8</Prefix><Blobs><Blob><Name>8295186e18295186e767817414aac029851164b3b9b8</Name><HasVersionsOnly>true</HasVersionsOnly><Properties><Creation-Time>Tue, 01 Jun 2021 18:51:18 GMT</Creation-Time><Last-Modified>Tue, 01 Jun 2021 18:51:18 GMT</Last-Modified><Etag>0x8D9252E3DCCBA9B</Etag><Content-Length>0</Content-Length><Content-Type>application/octet-stream</Content-Type><Content-Encoding /><Content-Language /><Content-CRC64 /><Content-MD5 /><Cache-Control /><Content-Disposition /><BlobType>AppendBlob</BlobType><LeaseStatus>unlocked</LeaseStatus><LeaseState>available</LeaseState><ServerEncrypted>true</ServerEncrypted></Properties><OrMetadata /></Blob></Blobs><NextMarker /></EnumerationResults>",
105-
"x-ms-client-request-id" : "7bf450cd-e0d3-45a1-b672-6e34f25fa9d2",
106-
"Date" : "Tue, 01 Jun 2021 18:51:18 GMT",
124+
"x-ms-request-id" : "00e459b3-e01e-003b-5e46-7f3a16000000",
125+
"Body" : "<?xml version=\"1.0\" encoding=\"utf-8\"?><EnumerationResults ServiceEndpoint=\"https://kasoboljavaversioned.blob.core.windows.net/\" ContainerName=\"8295186e08295186e35586414d243db9c211544dea23\"><Prefix>8295186e18295186e35546888feef37328cac4f43b8b</Prefix><Blobs><Blob><Name>8295186e18295186e35546888feef37328cac4f43b8b</Name><HasVersionsOnly>true</HasVersionsOnly><Properties><Creation-Time>Thu, 22 Jul 2021 22:09:43 GMT</Creation-Time><Last-Modified>Thu, 22 Jul 2021 22:09:43 GMT</Last-Modified><Etag>0x8D94D5D68CB3B86</Etag><Content-Length>0</Content-Length><Content-Type>application/octet-stream</Content-Type><Content-Encoding /><Content-Language /><Content-CRC64 /><Content-MD5 /><Cache-Control /><Content-Disposition /><BlobType>AppendBlob</BlobType><LeaseStatus>unlocked</LeaseStatus><LeaseState>available</LeaseState><ServerEncrypted>true</ServerEncrypted></Properties><OrMetadata /></Blob></Blobs><NextMarker /></EnumerationResults>",
126+
"x-ms-client-request-id" : "f788ae17-59ad-4a26-a189-8d77482c97e4",
127+
"Date" : "Thu, 22 Jul 2021 22:09:43 GMT",
107128
"Content-Type" : "application/xml"
108129
},
109130
"Exception" : null
131+
}, {
132+
"Method" : "DELETE",
133+
"Uri" : "https://REDACTED.blob.core.windows.net/8295186e08295186e35586414d243db9c211544dea23?restype=container",
134+
"Headers" : {
135+
"x-ms-version" : "2020-10-02",
136+
"User-Agent" : "azsdk-java-azure-storage-blob/12.13.0-beta.1 (11; Windows 10; 10.0)",
137+
"x-ms-client-request-id" : "fe5ab77e-199b-4a0f-a70b-e3d11ca67fe4"
138+
},
139+
"Response" : {
140+
"content-length" : "0",
141+
"x-ms-version" : "2020-10-02",
142+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
143+
"retry-after" : "0",
144+
"StatusCode" : "202",
145+
"x-ms-request-id" : "00e45a03-e01e-003b-2646-7f3a16000000",
146+
"x-ms-client-request-id" : "fe5ab77e-199b-4a0f-a70b-e3d11ca67fe4",
147+
"Date" : "Thu, 22 Jul 2021 22:09:43 GMT"
148+
},
149+
"Exception" : null
110150
} ],
111-
"variables" : [ "8295186e08295186e76780860dbc07e929472486d90d", "8295186e08295186e76780860dbc07e929472486d111", "8295186e08295186e76780860dbc07e929472486d112", "8295186e18295186e767817414aac029851164b3b9b8" ]
151+
"variables" : [ "8295186e08295186e35586414d243db9c211544dea23", "8295186e66996a11", "8295186e01308ffb", "8295186e18295186e35546888feef37328cac4f43b8b" ]
112152
}

0 commit comments

Comments
 (0)