From aecf3f8d4103c43d4aa0dcd07a13766f3d508f8f Mon Sep 17 00:00:00 2001 From: Nico Duldhardt Date: Tue, 7 Oct 2025 23:34:43 +0200 Subject: [PATCH] replace if-match / if-none-match Java tests with existing Python tests --- s3-tests | 2 +- .../java/org/gaul/s3proxy/AwsSdkTest.java | 79 ------------------- 2 files changed, 1 insertion(+), 80 deletions(-) diff --git a/s3-tests b/s3-tests index b988a96..100fc8e 160000 --- a/s3-tests +++ b/s3-tests @@ -1 +1 @@ -Subproject commit b988a969e2241f420b15f143101171438d18d7b2 +Subproject commit 100fc8e52b78f85b67c0794d0ee32eb566718caa diff --git a/src/test/java/org/gaul/s3proxy/AwsSdkTest.java b/src/test/java/org/gaul/s3proxy/AwsSdkTest.java index 6cad4ba..77fba13 100644 --- a/src/test/java/org/gaul/s3proxy/AwsSdkTest.java +++ b/src/test/java/org/gaul/s3proxy/AwsSdkTest.java @@ -1791,85 +1791,6 @@ public final class AwsSdkTest { } } - @Test - public void testPutIfMatch() throws Exception { - String blobName = "test-blob"; - - var metadata = new ObjectMetadata(); - metadata.setContentLength(BYTE_SOURCE.size()); - PutObjectResult result = client.putObject(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - String eTag = result.getETag(); - - // PUT with matching If-Match should succeed - metadata.setContentLength(BYTE_SOURCE.size()); - var request = new PutObjectRequest(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - request.setIfMatch(eTag); - client.putObject(request); - - // PUT with non-matching If-Match should fail - metadata.setContentLength(BYTE_SOURCE.size()); - var badRequest = new PutObjectRequest(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - badRequest.setIfMatch("wrong-etag"); - try { - client.putObject(badRequest); - Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class); - } catch (AmazonS3Exception e) { - assertThat(e.getStatusCode()).isEqualTo(412); - } - - // PUT with If-Match on non-existent object should fail with 404 - metadata.setContentLength(BYTE_SOURCE.size()); - var nonExistentRequest = new PutObjectRequest(containerName, - "non-existent", BYTE_SOURCE.openStream(), metadata); - nonExistentRequest.setIfMatch(eTag); - try { - client.putObject(nonExistentRequest); - Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class); - } catch (AmazonS3Exception e) { - assertThat(e.getStatusCode()).isEqualTo(404); - } - } - - @Test - public void testPutIfNoneMatch() throws Exception { - String blobName = "test-blob"; - - var metadata = new ObjectMetadata(); - metadata.setContentLength(BYTE_SOURCE.size()); - PutObjectResult result = client.putObject(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - String eTag = result.getETag(); - - // PUT with If-None-Match matching current ETag should fail - metadata.setContentLength(BYTE_SOURCE.size()); - var request = new PutObjectRequest(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - request.setIfNoneMatch(eTag); - try { - client.putObject(request); - Fail.failBecauseExceptionWasNotThrown(AmazonS3Exception.class); - } catch (AmazonS3Exception e) { - assertThat(e.getStatusCode()).isEqualTo(412); - } - - // PUT with If-None-Match with different ETag should succeed - metadata.setContentLength(BYTE_SOURCE.size()); - var goodRequest = new PutObjectRequest(containerName, blobName, - BYTE_SOURCE.openStream(), metadata); - goodRequest.setIfNoneMatch("different-etag"); - client.putObject(goodRequest); - - // PUT with If-None-Match on non-existent object should succeed - metadata.setContentLength(BYTE_SOURCE.size()); - var nonExistentRequest = new PutObjectRequest(containerName, - "non-existent", BYTE_SOURCE.openStream(), metadata); - nonExistentRequest.setIfNoneMatch("*"); - client.putObject(nonExistentRequest); - } - @Test public void testListRelativePath() throws Exception { assumeTrue(!blobStoreType.equals("filesystem"));