-
Notifications
You must be signed in to change notification settings - Fork 2k
Expand file tree
/
Copy pathRestEasyTest.java
More file actions
81 lines (69 loc) · 2.17 KB
/
Copy pathRestEasyTest.java
File metadata and controls
81 lines (69 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package io.vertx.examples.resteasy;
import io.swagger.v3.core.util.Json;
import io.vertx.core.Promise;
import io.vertx.core.Vertx;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import io.vertx.examples.resteasy.asyncresponse.Main;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import io.vertx.ext.unit.junit.VertxUnitRunner;
import io.vertx.ext.web.client.HttpResponse;
import io.vertx.ext.web.client.WebClient;
import io.vertx.ext.web.client.WebClientOptions;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(VertxUnitRunner.class)
public class RestEasyTest {
private static WebClient webClient;
private static Vertx vertx;
@BeforeClass
public static void setUp() {
vertx = Vertx.vertx();
vertx.deployVerticle(new Main());
webClient = WebClient.create(vertx, new WebClientOptions()
.setDefaultPort(8080));
}
@AfterClass
public static void tearDown() throws Exception {
vertx.close();
}
@Test
public void base(TestContext context) {
Async async = context.async();
Promise<HttpResponse<JsonObject>> promise = Promise.promise();
webClient.get("/products")
.send(ar -> {
if (ar.succeeded()) {
JsonArray jsonArray = ar.result().bodyAsJsonArray();
System.out.println(Json.pretty(jsonArray));
context.assertEquals(3, jsonArray.size());
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
});
async.awaitSuccess(5000);
}
@Test
public void openApi(TestContext context) {
Async async = context.async();
Promise<HttpResponse<JsonObject>> promise = Promise.promise();
webClient.get("/openapi.json")
.send(ar -> {
if (ar.succeeded()) {
JsonObject jsonArray = ar.result().bodyAsJsonObject();
context.assertEquals(2, jsonArray.size());
context.assertEquals("3.0.1",jsonArray.getString("openapi"));
async.complete();
} else {
context.fail(ar.cause());
async.complete();
}
});
async.awaitSuccess(5000);
}
}