diff --git a/http/graphql/src/main/resources/application.properties b/http/graphql/src/main/resources/application.properties new file mode 100644 index 0000000000..7783e56688 --- /dev/null +++ b/http/graphql/src/main/resources/application.properties @@ -0,0 +1 @@ +smallrye.graphql.allowGet=true diff --git a/http/graphql/src/test/java/io/quarkus/ts/http/graphql/GraphQLIT.java b/http/graphql/src/test/java/io/quarkus/ts/http/graphql/GraphQLIT.java index 35dee787ec..6bdc0efd58 100644 --- a/http/graphql/src/test/java/io/quarkus/ts/http/graphql/GraphQLIT.java +++ b/http/graphql/src/test/java/io/quarkus/ts/http/graphql/GraphQLIT.java @@ -2,6 +2,7 @@ import static io.restassured.RestAssured.given; +import org.apache.http.HttpStatus; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -11,6 +12,7 @@ @QuarkusScenario public class GraphQLIT { + @Test public void recursive() { final String query = createQuery("philosophers{name,friend{name,friend{name}}}"); @@ -21,6 +23,26 @@ public void recursive() { Assertions.assertEquals("Plato", json.getString("data.philosophers[0].friend.friend.name")); } + @Test + public void emptyGet() { + Response response = given().basePath("graphql") + .contentType("application/json") + .post(); + Assertions.assertNotEquals(HttpStatus.SC_METHOD_NOT_ALLOWED, response.statusCode()); + Assertions.assertNotEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.statusCode()); + Assertions.assertNotEquals(HttpStatus.SC_NO_CONTENT, response.statusCode()); + Assertions.assertEquals(HttpStatus.SC_BAD_REQUEST, response.statusCode()); + } + + @Test + public void emptyPost() { + Response response = given().basePath("graphql") + .contentType("application/json") + .post(); + Assertions.assertNotEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.statusCode()); + Assertions.assertEquals(HttpStatus.SC_BAD_REQUEST, response.statusCode()); + } + public static Response sendQuery(String query) { return given().basePath("graphql") .contentType("application/json")