use of io.vertx.mutiny.ext.web.Router in project smallrye-mutiny-vertx-bindings by smallrye.
the class HealthCheckTest method testHealthCheckWithVertxWeb.
@Test
public void testHealthCheckWithVertxWeb() {
HealthChecks hc = HealthChecks.create(vertx);
HealthCheckHandler handler = HealthCheckHandler.createWithHealthChecks(hc);
hc.register("test", Uni.createFrom().item(Status::OK));
Router router = Router.router(vertx);
router.get("/health*").handler(handler::handle);
vertx.createHttpServer().requestHandler(router::handle).listenAndAwait(8085);
WebClient webClient = WebClient.create(vertx);
HttpResponse<Buffer> response1 = webClient.getAbs("http://localhost:8085/health").send().await().indefinitely();
assertEquals(response1.statusCode(), 200);
assertEquals(response1.bodyAsJsonObject().getString("outcome"), "UP");
HttpResponse<Buffer> response2 = webClient.getAbs("http://localhost:8085/health/test").send().await().indefinitely();
assertEquals(response2.statusCode(), 200);
assertEquals(response2.bodyAsJsonObject().getString("outcome"), "UP");
}
use of io.vertx.mutiny.ext.web.Router in project smallrye-mutiny-vertx-bindings by smallrye.
the class MicrometerMetricsTest method test.
@Test
public void test() {
Vertx vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MicrometerMetricsOptions().setPrometheusOptions(new VertxPrometheusOptions().setEnabled(true)).setEnabled(true)));
Router router = Router.router(vertx);
router.route("/metrics").handler(x -> PrometheusScrapingHandler.create().handle(x));
HttpServer server = vertx.createHttpServer().requestHandler(router).listenAndAwait(8080);
WebClient client = WebClient.create(vertx, new WebClientOptions().setDefaultPort(8080));
String s = client.get("/metrics").sendAndAwait().bodyAsString();
assertThat(s).contains("vertx_http_client_active_connections");
MetricsService metricsService = MetricsService.create(server);
JsonObject metrics = metricsService.getMetricsSnapshot();
System.out.println(metrics);
assertThat(metrics.getJsonArray("vertx.http.server.active.connections")).isNotNull();
}
use of io.vertx.mutiny.ext.web.Router in project smallrye-mutiny-vertx-bindings by smallrye.
the class RouterTest method testRouter.
@Test
public void testRouter() throws InterruptedException {
Router router = Router.router(vertx);
router.get("/").handler(rc -> {
rc.response().endAndForget("hello");
});
router.get("/assets/*").handler(StaticHandler.create("src/test/resources/assets"));
router.post().handler(BodyHandler.create());
router.post("/post").handler(rc -> rc.response().endAndForget(rc.getBodyAsString()));
vertx.createHttpServer().requestHandler(router::handle).listenAndAwait(8085);
HttpClient client = vertx.createHttpClient();
CountDownLatch latch1 = new CountDownLatch(1);
RequestOptions req1 = new RequestOptions().setAbsoluteURI("http://localhost:8085");
HttpClientRequest request1 = client.requestAndAwait(req1);
request1.response().subscribe().with(resp -> resp.toMulti().subscribe().with(buffer -> {
assertEquals(buffer.toString(), "hello");
latch1.countDown();
}));
request1.exceptionHandler(t -> System.out.println("Got failure " + t)).endAndForget();
assertTrue(latch1.await(1, TimeUnit.SECONDS));
CountDownLatch latch2 = new CountDownLatch(1);
RequestOptions req2 = new RequestOptions().setAbsoluteURI("http://localhost:8085/assets/test.txt");
HttpClientRequest request2 = client.requestAndAwait(req2);
request2.response().subscribe().with(resp -> {
resp.toMulti().subscribe().with(buffer -> {
assertEquals(buffer.toString(), "This is a test.");
latch2.countDown();
});
});
request2.exceptionHandler(t -> System.out.println("Got failure " + t)).endAndForget();
assertTrue(latch2.await(1, TimeUnit.SECONDS));
CountDownLatch latch3 = new CountDownLatch(1);
WebClient webClient = WebClient.create(vertx);
HttpRequest<Buffer> request3 = webClient.postAbs("http://localhost:8085/post");
Uni<HttpResponse<Buffer>> uni = request3.sendStream(Multi.createFrom().items("Hello", " ", "World", "!").map(Buffer::buffer));
uni.subscribe().with(r -> {
assertEquals(r.bodyAsString(), "Hello World!");
latch3.countDown();
});
assertTrue(latch3.await(1, TimeUnit.SECONDS));
}
Aggregations