diff --git a/test/fixtures/s3-fixture/src/main/java/fixture/s3/S3HttpHandler.java b/test/fixtures/s3-fixture/src/main/java/fixture/s3/S3HttpHandler.java index 444c4627ffa8a..91bb1597fccd4 100644 --- a/test/fixtures/s3-fixture/src/main/java/fixture/s3/S3HttpHandler.java +++ b/test/fixtures/s3-fixture/src/main/java/fixture/s3/S3HttpHandler.java @@ -241,12 +241,9 @@ public void handle(final HttpExchange exchange) throws IOException { list.append("").append(blob.getValue().length()).append(""); list.append(""); } - if (commonPrefixes.isEmpty() == false) { - list.append(""); - commonPrefixes.forEach(commonPrefix -> list.append("").append(commonPrefix).append("")); - list.append(""); - - } + commonPrefixes.forEach( + commonPrefix -> list.append("").append(commonPrefix).append("") + ); list.append(""); byte[] response = list.toString().getBytes(StandardCharsets.UTF_8); diff --git a/test/fixtures/s3-fixture/src/test/java/fixture/s3/S3HttpHandlerTests.java b/test/fixtures/s3-fixture/src/test/java/fixture/s3/S3HttpHandlerTests.java index 58f32292fa91c..e26ee9c0da589 100644 --- a/test/fixtures/s3-fixture/src/test/java/fixture/s3/S3HttpHandlerTests.java +++ b/test/fixtures/s3-fixture/src/test/java/fixture/s3/S3HttpHandlerTests.java @@ -76,9 +76,27 @@ public void testSimpleObjectOperations() { handleRequest(handler, "GET", "/bucket/?prefix=path/other") ); + assertEquals(RestStatus.OK, handleRequest(handler, "PUT", "/bucket/path/subpath1/blob", randomAlphaOfLength(50)).status()); + assertEquals(RestStatus.OK, handleRequest(handler, "PUT", "/bucket/path/subpath2/blob", randomAlphaOfLength(50)).status()); + assertEquals(new TestHttpResponse(RestStatus.OK, """ + path/\ + /path/blob50\ + path/subpath1/\ + path/subpath2/\ + """), handleRequest(handler, "GET", "/bucket/?delimiter=/&prefix=path/")); + assertEquals(RestStatus.OK, handleRequest(handler, "DELETE", "/bucket/path/blob").status()); assertEquals(RestStatus.NO_CONTENT, handleRequest(handler, "DELETE", "/bucket/path/blob").status()); + assertEquals(new TestHttpResponse(RestStatus.OK, """ + \ + path/subpath1/blob50\ + path/subpath2/blob50\ + """), handleRequest(handler, "GET", "/bucket/?prefix=")); + + assertEquals(RestStatus.OK, handleRequest(handler, "DELETE", "/bucket/path/subpath1/blob").status()); + assertEquals(RestStatus.OK, handleRequest(handler, "DELETE", "/bucket/path/subpath2/blob").status()); + assertEquals( new TestHttpResponse(RestStatus.OK, """ """),