Skip to content

Commit 4fe1b0a

Browse files
committed
adding tests
1 parent 911321d commit 4fe1b0a

File tree

3 files changed

+82
-1
lines changed

3 files changed

+82
-1
lines changed

sdk/storage/azure-storage-blob/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "java",
44
"TagPrefix": "java/storage/azure-storage-blob",
5-
"Tag": "java/storage/azure-storage-blob_f26563826e"
5+
"Tag": "java/storage/azure-storage-blob_5a2523c496"
66
}

sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobApiTests.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2559,6 +2559,45 @@ public void deleteACFail(OffsetDateTime modified, OffsetDateTime unmodified, Str
25592559
() -> bc.deleteWithResponse(DeleteSnapshotsOptionType.INCLUDE, bac, null, null));
25602560
}
25612561

2562+
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "2025-05-05")
2563+
@ParameterizedTest
2564+
@ValueSource(booleans = { true, false })
2565+
public void deleteAccessTierRequestConditions(boolean isAccessTierModifiedSince) {
2566+
bc.setAccessTier(AccessTier.COOL);
2567+
OffsetDateTime changeTime = testResourceNamer.now();
2568+
BlobRequestConditions brc = new BlobRequestConditions();
2569+
if (isAccessTierModifiedSince) {
2570+
// requires modification since yesterday (which there should be modification in this time window)
2571+
brc.setAccessTierIfModifiedSince(changeTime.plusDays(-1));
2572+
} else {
2573+
// requires no modification after 5 minutes from now (which there should be no modification then)
2574+
brc.setAccessTierIfUnmodifiedSince(changeTime.plusMinutes(5));
2575+
}
2576+
2577+
assertResponseStatusCode(bc.deleteWithResponse(null, brc, null, null), 202);
2578+
}
2579+
2580+
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "2025-05-05")
2581+
@ParameterizedTest
2582+
@ValueSource(booleans = { true, false })
2583+
public void deleteAccessTierRequestConditionsFail(boolean isAccessTierModifiedSince) {
2584+
bc.setAccessTier(AccessTier.COOL);
2585+
OffsetDateTime changeTime = testResourceNamer.now();
2586+
BlobRequestConditions brc = new BlobRequestConditions();
2587+
if (isAccessTierModifiedSince) {
2588+
// requires modification after 5 minutes from now (which there should be no modification then)
2589+
brc.setAccessTierIfModifiedSince(changeTime.plusMinutes(5));
2590+
} else {
2591+
// requires no modification since yesterday (which there should be modification in this time window)
2592+
brc.setAccessTierIfUnmodifiedSince(changeTime.plusDays(-1));
2593+
}
2594+
2595+
BlobStorageException e
2596+
= assertThrows(BlobStorageException.class, () -> bc.deleteWithResponse(null, brc, null, null));
2597+
assertEquals(412, e.getStatusCode());
2598+
assertEquals("AccessTierChangeTimeConditionNotMet", e.getErrorCode().toString());
2599+
}
2600+
25622601
@Test
25632602
public void blobDeleteError() {
25642603
bc = cc.getBlobClient(generateBlobName());

sdk/storage/azure-storage-blob/src/test/java/com/azure/storage/blob/BlobAsyncApiTests.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2264,6 +2264,48 @@ public void deleteACFail(OffsetDateTime modified, OffsetDateTime unmodified, Str
22642264
StepVerifier.create(response).verifyError(BlobStorageException.class);
22652265
}
22662266

2267+
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "2025-05-05")
2268+
@ParameterizedTest
2269+
@ValueSource(booleans = { true, false })
2270+
public void deleteAccessTierRequestConditions(boolean isAccessTierModifiedSince) {
2271+
OffsetDateTime changeTime = testResourceNamer.now();
2272+
BlobRequestConditions brc = new BlobRequestConditions();
2273+
if (isAccessTierModifiedSince) {
2274+
// requires modification since yesterday (which there should be modification in this time window)
2275+
brc.setAccessTierIfModifiedSince(changeTime.plusDays(-1));
2276+
} else {
2277+
// requires no modification after 5 minutes from now (which there should be no modification then)
2278+
brc.setAccessTierIfUnmodifiedSince(changeTime.plusMinutes(5));
2279+
}
2280+
2281+
Mono<Response<Void>> response = bc.setAccessTier(AccessTier.COOL).then(bc.deleteWithResponse(null, brc));
2282+
2283+
StepVerifier.create(response).assertNext(r -> assertEquals(202, r.getStatusCode())).verifyComplete();
2284+
}
2285+
2286+
@RequiredServiceVersion(clazz = BlobServiceVersion.class, min = "2025-05-05")
2287+
@ParameterizedTest
2288+
@ValueSource(booleans = { true, false })
2289+
public void deleteAccessTierRequestConditionsFail(boolean isAccessTierModifiedSince) {
2290+
OffsetDateTime changeTime = testResourceNamer.now();
2291+
BlobRequestConditions brc = new BlobRequestConditions();
2292+
if (isAccessTierModifiedSince) {
2293+
// requires modification after 5 minutes from now (which there should be no modification then)
2294+
brc.setAccessTierIfModifiedSince(changeTime.plusMinutes(5));
2295+
} else {
2296+
// requires no modification since yesterday (which there should be modification in this time window)
2297+
brc.setAccessTierIfUnmodifiedSince(changeTime.plusDays(-1));
2298+
}
2299+
2300+
Mono<Response<Void>> response = bc.setAccessTier(AccessTier.COOL).then(bc.deleteWithResponse(null, brc));
2301+
2302+
StepVerifier.create(response).verifyErrorSatisfies(e -> {
2303+
BlobStorageException ex = assertInstanceOf(BlobStorageException.class, e);
2304+
assertEquals(412, ex.getStatusCode());
2305+
assertEquals("AccessTierChangeTimeConditionNotMet", ex.getErrorCode().toString());
2306+
});
2307+
}
2308+
22672309
@Test
22682310
public void blobDeleteError() {
22692311
bc = ccAsync.getBlobAsyncClient(generateBlobName());

0 commit comments

Comments
 (0)