Skip to content

Commit 49b9bf2

Browse files
committed
REST Data extensions returns 400 when violations
1 parent ddbe2a2 commit 49b9bf2

File tree

8 files changed

+29
-23
lines changed

8 files changed

+29
-23
lines changed

009-quarkus-infinispan-grpc-kafka/src/main/java/io/quarkus/qe/books/Book.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public Book(String title, String description, int publicationYear) {
2424
this.publicationYear = publicationYear;
2525
}
2626

27-
@NotBlank(message = "Title may not be blank")
27+
@NotBlank(message = "Title cannot be blank")
2828
@ProtoField(number = 1)
2929
public String getTitle() {
3030
return title;

009-quarkus-infinispan-grpc-kafka/src/test/java/io/quarkus/qe/books/BookServiceTest.java

+11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.quarkus.qe.books;
22

33
import static io.restassured.RestAssured.given;
4+
import static org.hamcrest.Matchers.containsString;
45
import static org.junit.jupiter.api.Assertions.assertEquals;
56

67
import org.apache.http.HttpStatus;
@@ -33,4 +34,14 @@ public void testBookResource() {
3334

3435
assertEquals(BOOK, actual);
3536
}
37+
38+
@Test
39+
public void testBookResourceShouldValidateBook() {
40+
given()
41+
.contentType(ContentType.JSON)
42+
.body(new Book())
43+
.when().post("/book/add")
44+
.then().statusCode(HttpStatus.SC_BAD_REQUEST)
45+
.body(containsString("Title cannot be blank"));
46+
}
3647
}

011-quarkus-panache-rest-flyway/README.md

-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,3 @@ Topics covered here:
88
- https://quarkus.io/guides/flyway
99

1010
In the future, I would like to cover different database at the same time.
11-
12-
## Disabled tests
13-
14-
`PostgreSqlApplicationResourceTest#shouldReturnBadRequestIfApplicationNameIsNull` - see https://github.com/quarkusio/quarkus/issues/13307

011-quarkus-panache-rest-flyway/src/main/java/io/quarkus/qe/ApplicationEntity.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
@Filter(name = "useLikeByName", condition = "name like '%' || :name || '%'")
2929
@FilterDef(name = "useServiceByName", parameters = { @ParamDef(name = "name", type = "string") })
3030
public class ApplicationEntity extends PanacheEntity {
31-
@NotEmpty
31+
@NotEmpty(message = "name can't be null")
3232
@Column(unique = true, nullable = false)
3333
public String name;
3434

011-quarkus-panache-rest-flyway/src/test/java/io/quarkus/qe/PostgreSqlApplicationResourceTest.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515

1616
import org.apache.http.HttpStatus;
1717
import org.junit.jupiter.api.AfterEach;
18-
import org.junit.jupiter.api.Disabled;
1918
import org.junit.jupiter.api.Test;
2019

2120
import io.quarkus.qe.containers.PostgreSqlDatabaseTestResource;
@@ -68,16 +67,13 @@ public void shouldDeleteApplication() {
6867
thenApplicationsCountIs(0);
6968
}
7069

71-
/**
72-
* This test is disabled because the conflict exception raised by hibernate validator is wrapping it up by the rollback
73-
* exception which ends up in a HTTP 500 Internal Server Error instead of a HTTP 409 Conflict.
74-
*/
75-
@Disabled("Caused by https://github.com/quarkusio/quarkus/issues/13307.")
7670
@Test
7771
public void shouldReturnBadRequestIfApplicationNameIsNull() {
7872
applicationPath().body(new ApplicationEntity()).post()
7973
.then()
80-
.statusCode(HttpStatus.SC_CONFLICT);
74+
.statusCode(HttpStatus.SC_BAD_REQUEST);
75+
// TODO: Body assertion is not working caused by https://github.com/quarkusio/quarkus/issues/15492
76+
// .body(containsString("name can't be null"));
8177
}
8278

8379
@Test

602-spring-data-rest/src/test/java/org/acme/spring/data/rest/BookRepositoryTest.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.List;
1111

1212
import org.acme.spring.data.rest.containers.PostgreSqlDatabaseTestResource;
13+
import org.apache.http.HttpStatus;
1314
import org.junit.Assert;
1415
import org.junit.jupiter.api.Test;
1516

@@ -117,10 +118,11 @@ void testRepositoryValidator() throws InterruptedException{
117118
.body("{\"name\": \"Q\", \"author\": \"Li\"}")
118119
.when().post("/books")
119120
.then()
120-
.statusCode(500)
121-
.body(
122-
containsString("length must be between 2 and 50"),
123-
containsString("propertyPath=name")
124-
);
121+
.statusCode(HttpStatus.SC_BAD_REQUEST);
122+
// TODO: Body assertion is not working caused by https://github.com/quarkusio/quarkus/issues/15492
123+
// .body(
124+
// containsString("length must be between 2 and 50"),
125+
// containsString("propertyPath=name")
126+
//);
125127
}
126128
}

602-spring-data-rest/src/test/java/org/acme/spring/data/rest/LibraryRepositoryTest.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import io.quarkus.test.common.QuarkusTestResource;
44
import io.quarkus.test.junit.QuarkusTest;
55
import org.acme.spring.data.rest.containers.PostgreSqlDatabaseTestResource;
6+
import org.apache.http.HttpStatus;
67
import org.junit.jupiter.api.Test;
78

89
import static io.restassured.RestAssured.given;
@@ -79,9 +80,10 @@ void testRepositoryValidator() throws InterruptedException{
7980
.body("{\"name\": \"\"}")
8081
.when().post("/library")
8182
.then()
82-
.statusCode(500)
83-
.body(
84-
containsString("Name may not be blank")
85-
);
83+
.statusCode(HttpStatus.SC_BAD_REQUEST);
84+
// TODO: Body assertion is not working caused by https://github.com/quarkusio/quarkus/issues/15492
85+
//.body(
86+
// containsString("Name may not be blank")
87+
//);
8688
}
8789
}

602-spring-data-rest/src/test/java/org/acme/spring/data/rest/NativeLibraryRepositoryTestIT.java

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.acme.spring.data.rest;
22

3-
import io.quarkus.test.common.QuarkusTestResource;
43
import io.quarkus.test.junit.NativeImageTest;
54

65
@NativeImageTest

0 commit comments

Comments
 (0)