Test some jaxrs features
This commit is contained in:
parent
92581efb3d
commit
e864e800f1
|
@ -9,8 +9,8 @@
|
||||||
<properties>
|
<properties>
|
||||||
<compiler-plugin.version>3.8.1</compiler-plugin.version>
|
<compiler-plugin.version>3.8.1</compiler-plugin.version>
|
||||||
<maven.compiler.parameters>true</maven.compiler.parameters>
|
<maven.compiler.parameters>true</maven.compiler.parameters>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||||
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
|
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
|
||||||
|
@ -62,10 +62,6 @@
|
||||||
<groupId>io.quarkus</groupId>
|
<groupId>io.quarkus</groupId>
|
||||||
<artifactId>quarkus-resteasy-reactive-jsonb</artifactId>
|
<artifactId>quarkus-resteasy-reactive-jsonb</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>io.quarkus</groupId>
|
|
||||||
<artifactId>quarkus-resteasy-mutiny</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.quarkus</groupId>
|
<groupId>io.quarkus</groupId>
|
||||||
<artifactId>quarkus-smallrye-reactive-messaging</artifactId>
|
<artifactId>quarkus-smallrye-reactive-messaging</artifactId>
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package it.cavallium;
|
||||||
|
|
||||||
|
import io.smallrye.mutiny.Uni;
|
||||||
|
import java.time.Duration;
|
||||||
|
import javax.ws.rs.DefaultValue;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.Produces;
|
||||||
|
import javax.ws.rs.QueryParam;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
|
@Path("/delay")
|
||||||
|
public class ExampleDelayedResource {
|
||||||
|
|
||||||
|
@Path("{seconds:\\d+}")
|
||||||
|
@GET
|
||||||
|
@Produces(MediaType.TEXT_PLAIN)
|
||||||
|
public Uni<String> delay(int seconds) {
|
||||||
|
return Uni
|
||||||
|
|
||||||
|
// Create the response item
|
||||||
|
.createFrom().item("Hello from the future! %d seconds have passed".formatted(seconds))
|
||||||
|
|
||||||
|
// Delay the response by n seconds
|
||||||
|
.onItem().delayIt().by(Duration.ofSeconds(seconds));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
package it.cavallium;
|
||||||
|
|
||||||
|
import static io.restassured.RestAssured.given;
|
||||||
|
import static org.hamcrest.CoreMatchers.is;
|
||||||
|
|
||||||
|
import io.quarkus.test.junit.QuarkusTest;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
@QuarkusTest
|
||||||
|
public class ExampleDelayResourceTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHelloEndpoint() {
|
||||||
|
given()
|
||||||
|
.when()
|
||||||
|
.get("/delay?duration=1")
|
||||||
|
.then()
|
||||||
|
.statusCode(200)
|
||||||
|
.body(is("Hello from the future! %d seconds have passed".formatted(1)));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue