Skip to content

Commit 2f71125

Browse files
authored
Fix create if exists live tests (Azure#28606)
* Fix create if exists live tests * Removed some duplicate tests that were failing * Moved some tests to playback only
1 parent a22a073 commit 2f71125

File tree

7 files changed

+545
-32
lines changed

7 files changed

+545
-32
lines changed

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

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import com.azure.storage.common.Utility
3838
import com.azure.storage.common.test.shared.extensions.PlaybackOnly
3939
import com.azure.storage.common.test.shared.extensions.RequiredServiceVersion
4040
import reactor.test.StepVerifier
41+
import spock.lang.Requires
4142
import spock.lang.Unroll
4243

4344
import java.time.Duration
@@ -786,27 +787,8 @@ class ContainerAPITest extends APISpec {
786787
response.getStatusCode() == 404
787788
}
788789

789-
def "Delete if exists service container min"() {
790-
setup:
791-
def containerName = generateContainerName()
792-
primaryBlobServiceClient.createBlobContainer(containerName)
793-
794-
when:
795-
def result = premiumBlobServiceClient.deleteBlobContainerIfExists(containerName)
796-
797-
then:
798-
!premiumBlobServiceClient.getBlobContainerClient(containerName).exists()
799-
result
800-
}
801-
802-
def "Delete if exists service container that does not exist"() {
803-
when:
804-
def response = premiumBlobServiceClient.deleteBlobContainerIfExistsWithResponse(generateContainerName(), null)
805-
806-
then:
807-
response.getStatusCode() == 404
808-
}
809-
790+
// We can't guarantee that the requests will always happen before the container is garbage collected
791+
@PlaybackOnly
810792
def "Delete if exists container that was already deleted"() {
811793
when:
812794
boolean result = cc.deleteIfExists()

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

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1104,57 +1104,59 @@ class ServiceAPITest extends APISpec {
11041104
response.getHeaders().getValue("x-ms-version") == "2017-11-09"
11051105
}
11061106

1107-
def "Create blob service"() {
1107+
def "Create container if not exists"() {
11081108
when:
11091109
def containerName = generateContainerName()
11101110
def response = primaryBlobServiceClient.createBlobContainerIfNotExistsWithResponse(containerName, null, null)
1111-
def response2 = premiumBlobServiceClient.createBlobContainerIfNotExistsWithResponse(containerName, null, null)
1111+
def response2 = primaryBlobServiceClient.createBlobContainerIfNotExistsWithResponse(containerName, null, null)
11121112

11131113
then:
11141114
response.getStatusCode() == 201
11151115
response2.getStatusCode() == 409
11161116
}
11171117

1118-
def "Delete if exists blob service"() {
1118+
def "Delete container if exists"() {
11191119
setup:
11201120
def containerName = generateContainerName()
11211121
primaryBlobServiceClient.createBlobContainer(containerName)
11221122

11231123
when:
1124-
def response = premiumBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
1124+
def response = primaryBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
11251125

11261126
then:
11271127
response.getStatusCode() == 202
11281128
}
11291129

1130-
def "Delete if exists blob service min"() {
1130+
def "Delete container if exists min"() {
11311131
setup:
11321132
def containerName = generateContainerName()
11331133
primaryBlobServiceClient.createBlobContainer(containerName)
11341134

11351135
when:
1136-
def response = premiumBlobServiceClient.deleteBlobContainerIfExists(containerName)
1136+
def response = primaryBlobServiceClient.deleteBlobContainerIfExists(containerName)
11371137

11381138
then:
11391139
response
11401140
}
11411141

1142-
def "Delete if exists blob service that does not exist"() {
1142+
def "Delete container if exists container does not exist"() {
11431143
when:
1144-
def response = premiumBlobServiceClient.deleteBlobContainerIfExists(generateContainerName())
1144+
def response = primaryBlobServiceClient.deleteBlobContainerIfExists(generateContainerName())
11451145

11461146
then:
11471147
!response
11481148
}
11491149

1150-
def "Delete if exists blob service that was already deleted"() {
1150+
// We can't guarantee that the requests will always happen before the container is garbage collected
1151+
@PlaybackOnly
1152+
def "Delete container if exists already deleted"() {
11511153
setup:
11521154
def containerName = generateContainerName()
11531155
primaryBlobServiceClient.createBlobContainer(containerName)
11541156

11551157
when:
1156-
def response = premiumBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
1157-
def response2 = premiumBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
1158+
def response = primaryBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
1159+
def response2 = primaryBlobServiceClient.deleteBlobContainerIfExistsWithResponse(containerName, null)
11581160

11591161
then:
11601162
response.getStatusCode() == 202
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
"networkCallRecords" : [ {
3+
"Method" : "PUT",
4+
"Uri" : "http://REDACTED.blob.core.windows.net/be36ae430be36ae43c488377882dd2f870c204b66a3a?restype=container",
5+
"Headers" : {
6+
"x-ms-version" : "2021-04-10",
7+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
8+
"x-ms-client-request-id" : "48a8b5d1-369a-416a-8bbc-f588f7e5de7b"
9+
},
10+
"Response" : {
11+
"content-length" : "0",
12+
"x-ms-version" : "2021-04-10",
13+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
14+
"eTag" : "0x8DA2A1E2569BFE1",
15+
"Last-Modified" : "Fri, 29 Apr 2022 20:23:39 GMT",
16+
"retry-after" : "0",
17+
"StatusCode" : "201",
18+
"x-ms-request-id" : "7039ece8-301e-004d-5407-5c152e000000",
19+
"x-ms-client-request-id" : "48a8b5d1-369a-416a-8bbc-f588f7e5de7b",
20+
"Date" : "Fri, 29 Apr 2022 20:23:38 GMT"
21+
},
22+
"Exception" : null
23+
}, {
24+
"Method" : "PUT",
25+
"Uri" : "http://REDACTED.blob.core.windows.net?restype=service&comp=properties",
26+
"Headers" : {
27+
"x-ms-version" : "2021-04-10",
28+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
29+
"x-ms-client-request-id" : "4f4f075f-b47d-49c3-9f6b-a3358bd7583e",
30+
"Content-Type" : "application/xml"
31+
},
32+
"Response" : {
33+
"content-length" : "0",
34+
"x-ms-version" : "2021-04-10",
35+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
36+
"retry-after" : "0",
37+
"StatusCode" : "202",
38+
"x-ms-request-id" : "7039ed89-301e-004d-5707-5c152e000000",
39+
"x-ms-client-request-id" : "4f4f075f-b47d-49c3-9f6b-a3358bd7583e",
40+
"Date" : "Fri, 29 Apr 2022 20:23:39 GMT"
41+
},
42+
"Exception" : null
43+
}, {
44+
"Method" : "PUT",
45+
"Uri" : "http://REDACTED.blob.core.windows.net/be36ae431be36ae43c4818717b3721e5ea1b84da389f?restype=container",
46+
"Headers" : {
47+
"x-ms-version" : "2021-04-10",
48+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
49+
"x-ms-client-request-id" : "cb3f4610-dac1-4e36-8730-ae943dd550b8"
50+
},
51+
"Response" : {
52+
"content-length" : "0",
53+
"x-ms-version" : "2021-04-10",
54+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
55+
"eTag" : "0x8DA2A1E25A3B308",
56+
"Last-Modified" : "Fri, 29 Apr 2022 20:23:39 GMT",
57+
"retry-after" : "0",
58+
"StatusCode" : "201",
59+
"x-ms-request-id" : "7039edc3-301e-004d-0107-5c152e000000",
60+
"x-ms-client-request-id" : "cb3f4610-dac1-4e36-8730-ae943dd550b8",
61+
"Date" : "Fri, 29 Apr 2022 20:23:39 GMT"
62+
},
63+
"Exception" : null
64+
}, {
65+
"Method" : "PUT",
66+
"Uri" : "http://REDACTED.blob.core.windows.net/be36ae431be36ae43c4818717b3721e5ea1b84da389f?restype=container",
67+
"Headers" : {
68+
"x-ms-version" : "2021-04-10",
69+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
70+
"x-ms-client-request-id" : "9a25c2f7-dfd1-48c3-9c09-a8b0530b58b6"
71+
},
72+
"Response" : {
73+
"content-length" : "230",
74+
"x-ms-version" : "2021-04-10",
75+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
76+
"x-ms-error-code" : "ContainerAlreadyExists",
77+
"retry-after" : "0",
78+
"StatusCode" : "409",
79+
"x-ms-request-id" : "7039edfc-301e-004d-2f07-5c152e000000",
80+
"Body" : "<?xml version=\"1.0\" encoding=\"utf-8\"?><Error><Code>ContainerAlreadyExists</Code><Message>The specified container already exists.\nRequestId:7039edfc-301e-004d-2f07-5c152e000000\nTime:2022-04-29T20:23:39.6036685Z</Message></Error>",
81+
"x-ms-client-request-id" : "9a25c2f7-dfd1-48c3-9c09-a8b0530b58b6",
82+
"Date" : "Fri, 29 Apr 2022 20:23:39 GMT",
83+
"Content-Type" : "application/xml"
84+
},
85+
"Exception" : null
86+
}, {
87+
"Method" : "PUT",
88+
"Uri" : "http://REDACTED.blob.core.windows.net?restype=service&comp=properties",
89+
"Headers" : {
90+
"x-ms-version" : "2021-04-10",
91+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
92+
"x-ms-client-request-id" : "d7b8e120-58f5-4d1d-9144-b83a714b81ec",
93+
"Content-Type" : "application/xml"
94+
},
95+
"Response" : {
96+
"content-length" : "0",
97+
"x-ms-version" : "2021-04-10",
98+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
99+
"retry-after" : "0",
100+
"StatusCode" : "202",
101+
"x-ms-request-id" : "7039ee30-301e-004d-5b07-5c152e000000",
102+
"x-ms-client-request-id" : "d7b8e120-58f5-4d1d-9144-b83a714b81ec",
103+
"Date" : "Fri, 29 Apr 2022 20:23:39 GMT"
104+
},
105+
"Exception" : null
106+
} ],
107+
"variables" : [ "be36ae430be36ae43c488377882dd2f870c204b66a3a", "be36ae43616982ba", "be36ae4395916a51", "be36ae431be36ae43c4818717b3721e5ea1b84da389f" ]
108+
}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
{
2+
"networkCallRecords" : [ {
3+
"Method" : "PUT",
4+
"Uri" : "http://REDACTED.blob.core.windows.net/b92b948e0b92b948e9c363701c313c157aedd42d6934?restype=container",
5+
"Headers" : {
6+
"x-ms-version" : "2021-04-10",
7+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
8+
"x-ms-client-request-id" : "9290e3b5-59f4-4c7c-be87-1204372114bf"
9+
},
10+
"Response" : {
11+
"content-length" : "0",
12+
"x-ms-version" : "2021-04-10",
13+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
14+
"eTag" : "0x8DA2A1AC55B1E43",
15+
"Last-Modified" : "Fri, 29 Apr 2022 19:59:29 GMT",
16+
"retry-after" : "0",
17+
"StatusCode" : "201",
18+
"x-ms-request-id" : "87abbef7-401e-000a-7803-5c7e75000000",
19+
"x-ms-client-request-id" : "9290e3b5-59f4-4c7c-be87-1204372114bf",
20+
"Date" : "Fri, 29 Apr 2022 19:59:29 GMT"
21+
},
22+
"Exception" : null
23+
}, {
24+
"Method" : "PUT",
25+
"Uri" : "http://REDACTED.blob.core.windows.net?restype=service&comp=properties",
26+
"Headers" : {
27+
"x-ms-version" : "2021-04-10",
28+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
29+
"x-ms-client-request-id" : "7d209e3f-67c0-4afd-ba98-b08f49426fad",
30+
"Content-Type" : "application/xml"
31+
},
32+
"Response" : {
33+
"content-length" : "0",
34+
"x-ms-version" : "2021-04-10",
35+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
36+
"retry-after" : "0",
37+
"StatusCode" : "202",
38+
"x-ms-request-id" : "87abbf44-401e-000a-3b03-5c7e75000000",
39+
"x-ms-client-request-id" : "7d209e3f-67c0-4afd-ba98-b08f49426fad",
40+
"Date" : "Fri, 29 Apr 2022 19:59:30 GMT"
41+
},
42+
"Exception" : null
43+
}, {
44+
"Method" : "PUT",
45+
"Uri" : "http://REDACTED.blob.core.windows.net/b92b948e1b92b948e9c369876f3d72eae15cf41378a6?restype=container",
46+
"Headers" : {
47+
"x-ms-version" : "2021-04-10",
48+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
49+
"x-ms-client-request-id" : "56f831c9-9878-4272-9131-0cd6529849c9"
50+
},
51+
"Response" : {
52+
"content-length" : "0",
53+
"x-ms-version" : "2021-04-10",
54+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
55+
"eTag" : "0x8DA2A1AC5E4D3B5",
56+
"Last-Modified" : "Fri, 29 Apr 2022 19:59:30 GMT",
57+
"retry-after" : "0",
58+
"StatusCode" : "201",
59+
"x-ms-request-id" : "87abc050-401e-000a-1203-5c7e75000000",
60+
"x-ms-client-request-id" : "56f831c9-9878-4272-9131-0cd6529849c9",
61+
"Date" : "Fri, 29 Apr 2022 19:59:30 GMT"
62+
},
63+
"Exception" : null
64+
}, {
65+
"Method" : "DELETE",
66+
"Uri" : "http://REDACTED.blob.core.windows.net/b92b948e1b92b948e9c369876f3d72eae15cf41378a6?restype=container",
67+
"Headers" : {
68+
"x-ms-version" : "2021-04-10",
69+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
70+
"x-ms-client-request-id" : "f3a4a018-6c99-4665-a02e-97b5ff68e42b"
71+
},
72+
"Response" : {
73+
"content-length" : "0",
74+
"x-ms-version" : "2021-04-10",
75+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
76+
"retry-after" : "0",
77+
"StatusCode" : "202",
78+
"x-ms-request-id" : "87abc077-401e-000a-2f03-5c7e75000000",
79+
"x-ms-client-request-id" : "f3a4a018-6c99-4665-a02e-97b5ff68e42b",
80+
"Date" : "Fri, 29 Apr 2022 19:59:30 GMT"
81+
},
82+
"Exception" : null
83+
}, {
84+
"Method" : "PUT",
85+
"Uri" : "http://REDACTED.blob.core.windows.net?restype=service&comp=properties",
86+
"Headers" : {
87+
"x-ms-version" : "2021-04-10",
88+
"User-Agent" : "azsdk-java-azure-storage-blob/12.17.0-beta.1 (11.0.13; Windows 10; 10.0)",
89+
"x-ms-client-request-id" : "6cebea24-7add-4157-9973-8810f6f799c7",
90+
"Content-Type" : "application/xml"
91+
},
92+
"Response" : {
93+
"content-length" : "0",
94+
"x-ms-version" : "2021-04-10",
95+
"Server" : "Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0",
96+
"retry-after" : "0",
97+
"StatusCode" : "202",
98+
"x-ms-request-id" : "87abc087-401e-000a-3d03-5c7e75000000",
99+
"x-ms-client-request-id" : "6cebea24-7add-4157-9973-8810f6f799c7",
100+
"Date" : "Fri, 29 Apr 2022 19:59:30 GMT"
101+
},
102+
"Exception" : null
103+
} ],
104+
"variables" : [ "b92b948e0b92b948e9c363701c313c157aedd42d6934", "b92b948e6704999a", "b92b948e49705b2f", "b92b948e1b92b948e9c369876f3d72eae15cf41378a6" ]
105+
}

0 commit comments

Comments
 (0)