use of io.vertx.core.AsyncResult in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testPathMultiSimpleLabel.
/**
* Test: path_multi_simple_label
* Expected parameters sent:
* color_simple: blue
* color_label: .blue.black.brown
* Expected response: {"color_simple":"blue","color_label":["blue","black","brown"]}
* @throws Exception
*/
@Test
public void testPathMultiSimpleLabel() throws Exception {
routerFactory.addHandlerByOperationId("path_multi_simple_label", routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
RequestParameter colorSimple_path = params.pathParameter("color_simple");
assertNotNull(colorSimple_path);
assertTrue(colorSimple_path.isString());
assertEquals(colorSimple_path.getString(), "blue");
res.put("color_simple", colorSimple_path.getString());
RequestParameter colorLabel_path = params.pathParameter("color_label");
assertNotNull(colorLabel_path);
assertTrue(colorLabel_path.isArray());
res.put("color_label", new JsonArray(colorLabel_path.getArray().stream().map(param -> param.getString()).collect(Collectors.toList())));
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
CountDownLatch latch = new CountDownLatch(1);
String colorSimple_path;
colorSimple_path = "blue";
List<Object> colorLabel_path;
colorLabel_path = new ArrayList<>();
colorLabel_path.add("blue");
colorLabel_path.add("black");
colorLabel_path.add("brown");
startServer();
apiClient.pathMultiSimpleLabel(colorSimple_path, colorLabel_path, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
assertEquals(200, ar.result().statusCode());
assertTrue("Expected: " + new JsonObject("{\"color_simple\":\"blue\",\"color_label\":[\"blue\",\"black\",\"brown\"]}").encode() + " Actual: " + ar.result().bodyAsJsonObject().encode(), new JsonObject("{\"color_simple\":\"blue\",\"color_label\":[\"blue\",\"black\",\"brown\"]}").equals(ar.result().bodyAsJsonObject()));
} else {
assertTrue(ar.cause().getMessage(), false);
}
latch.countDown();
});
awaitLatch(latch);
}
use of io.vertx.core.AsyncResult in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testCookieFormExplodeString.
/**
* Test: cookie_form_explode_string
* Expected parameters sent:
* color: color=blue
* Expected response: {"color":"blue"}
* @throws Exception
*/
@Test
public void testCookieFormExplodeString() throws Exception {
routerFactory.addHandlerByOperationId("cookie_form_explode_string", routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
RequestParameter color_cookie = params.cookieParameter("color");
assertNotNull(color_cookie);
assertTrue(color_cookie.isString());
assertEquals(color_cookie.getString(), "blue");
res.put("color", color_cookie.getString());
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
CountDownLatch latch = new CountDownLatch(1);
String color_cookie;
color_cookie = "blue";
startServer();
apiClient.cookieFormExplodeString(color_cookie, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
assertEquals(200, ar.result().statusCode());
assertTrue("Expected: " + new JsonObject("{\"color\":\"blue\"}").encode() + " Actual: " + ar.result().bodyAsJsonObject().encode(), new JsonObject("{\"color\":\"blue\"}").equals(ar.result().bodyAsJsonObject()));
} else {
assertTrue(ar.cause().getMessage(), false);
}
latch.countDown();
});
awaitLatch(latch);
}
use of io.vertx.core.AsyncResult in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testPathMatrixNoexplodeArray.
/**
* Test: path_matrix_noexplode_array
* Expected parameters sent:
* color: ;color=blue,black,brown
* Expected response: {"color":["blue","black","brown"]}
* @throws Exception
*/
@Test
public void testPathMatrixNoexplodeArray() throws Exception {
routerFactory.addHandlerByOperationId("path_matrix_noexplode_array", routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
RequestParameter color_path = params.pathParameter("color");
assertNotNull(color_path);
assertTrue(color_path.isArray());
res.put("color", new JsonArray(color_path.getArray().stream().map(param -> param.getString()).collect(Collectors.toList())));
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
CountDownLatch latch = new CountDownLatch(1);
List<Object> color_path;
color_path = new ArrayList<>();
color_path.add("blue");
color_path.add("black");
color_path.add("brown");
startServer();
apiClient.pathMatrixNoexplodeArray(color_path, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
assertEquals(200, ar.result().statusCode());
assertTrue("Expected: " + new JsonObject("{\"color\":[\"blue\",\"black\",\"brown\"]}").encode() + " Actual: " + ar.result().bodyAsJsonObject().encode(), new JsonObject("{\"color\":[\"blue\",\"black\",\"brown\"]}").equals(ar.result().bodyAsJsonObject()));
} else {
assertTrue(ar.cause().getMessage(), false);
}
latch.countDown();
});
awaitLatch(latch);
}
use of io.vertx.core.AsyncResult in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testPathSimpleNoexplodeString.
/**
* Test: path_simple_noexplode_string
* Expected parameters sent:
* color: blue
* Expected response: {"color":"blue"}
* @throws Exception
*/
@Test
public void testPathSimpleNoexplodeString() throws Exception {
routerFactory.addHandlerByOperationId("path_simple_noexplode_string", routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
RequestParameter color_path = params.pathParameter("color");
assertNotNull(color_path);
assertTrue(color_path.isString());
assertEquals(color_path.getString(), "blue");
res.put("color", color_path.getString());
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
CountDownLatch latch = new CountDownLatch(1);
String color_path;
color_path = "blue";
startServer();
apiClient.pathSimpleNoexplodeString(color_path, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
assertEquals(200, ar.result().statusCode());
assertTrue("Expected: " + new JsonObject("{\"color\":\"blue\"}").encode() + " Actual: " + ar.result().bodyAsJsonObject().encode(), new JsonObject("{\"color\":\"blue\"}").equals(ar.result().bodyAsJsonObject()));
} else {
assertTrue(ar.cause().getMessage(), false);
}
latch.countDown();
});
awaitLatch(latch);
}
use of io.vertx.core.AsyncResult in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testHeaderSimpleExplodeArray.
/**
* Test: header_simple_explode_array
* Expected parameters sent:
* color: blue,black,brown
* Expected response: {"color":["blue","black","brown"]}
* @throws Exception
*/
@Test
public void testHeaderSimpleExplodeArray() throws Exception {
routerFactory.addHandlerByOperationId("header_simple_explode_array", routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
RequestParameter color_header = params.headerParameter("color");
assertNotNull(color_header);
assertTrue(color_header.isArray());
res.put("color", new JsonArray(color_header.getArray().stream().map(param -> param.getString()).collect(Collectors.toList())));
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
CountDownLatch latch = new CountDownLatch(1);
List<Object> color_header;
color_header = new ArrayList<>();
color_header.add("blue");
color_header.add("black");
color_header.add("brown");
startServer();
apiClient.headerSimpleExplodeArray(color_header, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
assertEquals(200, ar.result().statusCode());
assertTrue("Expected: " + new JsonObject("{\"color\":[\"blue\",\"black\",\"brown\"]}").encode() + " Actual: " + ar.result().bodyAsJsonObject().encode(), new JsonObject("{\"color\":[\"blue\",\"black\",\"brown\"]}").equals(ar.result().bodyAsJsonObject()));
} else {
assertTrue(ar.cause().getMessage(), false);
}
latch.countDown();
});
awaitLatch(latch);
}
Aggregations