From d36be956ce91b04f91a19ee05f9ed0d080be615f Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Thu, 24 Apr 2025 11:09:59 -0700 Subject: [PATCH] Fix #1186: no fail for invalid keyspace for HCD --- .../v1/DeleteCollectionIntegrationTest.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/test/java/io/stargate/sgv2/jsonapi/api/v1/DeleteCollectionIntegrationTest.java b/src/test/java/io/stargate/sgv2/jsonapi/api/v1/DeleteCollectionIntegrationTest.java index 932fe6c6d4..3c60e8211d 100644 --- a/src/test/java/io/stargate/sgv2/jsonapi/api/v1/DeleteCollectionIntegrationTest.java +++ b/src/test/java/io/stargate/sgv2/jsonapi/api/v1/DeleteCollectionIntegrationTest.java @@ -2,6 +2,8 @@ import static io.stargate.sgv2.jsonapi.api.v1.ResponseAssertions.responseIsDDLSuccess; import static io.stargate.sgv2.jsonapi.api.v1.ResponseAssertions.responseIsError; +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; import io.quarkus.test.common.WithTestResource; @@ -84,6 +86,27 @@ public void notExisting() { .body("status.ok", is(1)); } + // [data-api#1186]: handling of non-existing keyspace + @Test + public void nonExistingKeyspace() { + givenHeadersAndJson( + """ + { + "deleteCollection": { + "name": "some-collection" + } + } + """) + .when() + .post(KeyspaceResource.BASE_PATH, "no_such_keyspace") + .then() + .statusCode(200) + .body("$", responseIsError()) + .body("errors", hasSize(1)) + .body("errors[0].errorCode", is("KEYSPACE_DOES_NOT_EXIST")) + .body("errors[0].message", containsString("no_such_keyspace")); + } + @Test public void invalidCommand() { givenHeadersAndJson( @@ -98,8 +121,8 @@ public void invalidCommand() { .then() .statusCode(200) .body("$", responseIsError()) + .body("errors", hasSize(1)) .body("errors[0].errorCode", is("COMMAND_FIELD_INVALID")) - .body("errors[0].exceptionClass", is("JsonApiException")) .body( "errors[0].message", is(