@@ -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 ());
0 commit comments