use of io.vertx.ext.web.validation.RequestParameter in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testPathMultiLabelMatrix.
/**
* Test: path_multi_label_matrix
* Expected parameters sent:
* color_label: .blue.black.brown
* color_matrix: ;R=100;G=200;B=150
* Expected response: {"color_label":["blue","black","brown"],"color_matrix":{"R":"100","G":"200","B":"150"}}
*/
@Test
public void testPathMultiLabelMatrix(Vertx vertx, VertxTestContext testContext) {
loadBuilderAndStartServer(vertx, SPEC_URL, testContext, routerBuilder -> {
routerBuilder.setOptions(new RouterBuilderOptions().setMountNotImplementedHandler(false));
routerBuilder.operation("path_multi_label_matrix").handler(routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
testContext.verify(() -> {
RequestParameter colorLabel_path = params.pathParameter("color_label");
assertThat(colorLabel_path).isNotNull();
assertThat(colorLabel_path.isJsonArray()).isTrue();
res.put("color_label", colorLabel_path.getJsonArray());
RequestParameter colorMatrix_path = params.pathParameter("color_matrix");
assertThat(colorMatrix_path).isNotNull();
assertThat(colorMatrix_path.isJsonObject()).isTrue();
res.put("color_matrix", colorMatrix_path.getJsonObject());
});
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
}).onComplete(h -> {
List<Object> colorLabel_path;
colorLabel_path = new ArrayList<>();
colorLabel_path.add("blue");
colorLabel_path.add("black");
colorLabel_path.add("brown");
Map<String, Object> colorMatrix_path;
colorMatrix_path = new HashMap<>();
colorMatrix_path.put("R", "100");
colorMatrix_path.put("G", "200");
colorMatrix_path.put("B", "150");
apiClient.pathMultiLabelMatrix(colorLabel_path, colorMatrix_path, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
testContext.verify(() -> {
assertThat(ar.result().bodyAsJsonObject()).isEqualTo(new JsonObject("{\"color_label\":[\"blue\",\"black\",\"brown\"],\"color_matrix\":{\"R\":\"100\",\"G\":\"200\",\"B\":\"150\"}}"));
});
testContext.completeNow();
} else {
testContext.failNow(ar.cause());
}
});
});
}
use of io.vertx.ext.web.validation.RequestParameter in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testCookieFormNoexplodeObject.
/**
* Test: cookie_form_noexplode_object
* Expected parameters sent:
* color: color=R,100,G,200,B,150
* Expected response: {"color":{"R":"100","G":"200","B":"150"}}
*/
@Test
public void testCookieFormNoexplodeObject(Vertx vertx, VertxTestContext testContext) {
loadBuilderAndStartServer(vertx, SPEC_URL, testContext, routerBuilder -> {
routerBuilder.setOptions(new RouterBuilderOptions().setMountNotImplementedHandler(false));
routerBuilder.operation("cookie_form_noexplode_object").handler(routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
testContext.verify(() -> {
RequestParameter color_cookie = params.cookieParameter("color");
assertThat(color_cookie).isNotNull();
assertThat(color_cookie.isJsonObject()).isTrue();
res.put("color", color_cookie.getJsonObject());
});
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
}).onComplete(h -> {
Map<String, Object> color_cookie;
color_cookie = new HashMap<>();
color_cookie.put("R", "100");
color_cookie.put("G", "200");
color_cookie.put("B", "150");
apiClient.cookieFormNoexplodeObject(color_cookie, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
testContext.verify(() -> {
assertThat(ar.result().bodyAsJsonObject()).isEqualTo(new JsonObject("{\"color\":{\"R\":\"100\",\"G\":\"200\",\"B\":\"150\"}}"));
});
testContext.completeNow();
} else {
testContext.failNow(ar.cause());
}
});
});
}
use of io.vertx.ext.web.validation.RequestParameter in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testPathMatrixNoexplodeObject.
/**
* Test: path_matrix_noexplode_object
* Expected parameters sent:
* color: ;color=R,100,G,200,B,150
* Expected response: {"color":{"R":"100","G":"200","B":"150"}}
*/
@Test
public void testPathMatrixNoexplodeObject(Vertx vertx, VertxTestContext testContext) {
loadBuilderAndStartServer(vertx, SPEC_URL, testContext, routerBuilder -> {
routerBuilder.setOptions(new RouterBuilderOptions().setMountNotImplementedHandler(false));
routerBuilder.operation("path_matrix_noexplode_object").handler(routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
testContext.verify(() -> {
RequestParameter color_path = params.pathParameter("color");
assertThat(color_path).isNotNull();
assertThat(color_path.isJsonObject()).isTrue();
res.put("color", color_path.getJsonObject());
});
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
}).onComplete(h -> {
Map<String, Object> color_path;
color_path = new HashMap<>();
color_path.put("R", "100");
color_path.put("G", "200");
color_path.put("B", "150");
apiClient.pathMatrixNoexplodeObject(color_path, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
testContext.verify(() -> {
assertThat(ar.result().bodyAsJsonObject()).isEqualTo(new JsonObject("{\"color\":{\"R\":\"100\",\"G\":\"200\",\"B\":\"150\"}}"));
});
testContext.completeNow();
} else {
testContext.failNow(ar.cause());
}
});
});
}
use of io.vertx.ext.web.validation.RequestParameter in project vertx-web by vert-x3.
the class OpenAPI3ParametersUnitTest method testCookieFormNoexplodeString.
/**
* Test: cookie_form_noexplode_string
* Expected parameters sent:
* color: color=blue
* Expected response: {"color":"blue"}
*/
@Test
public void testCookieFormNoexplodeString(Vertx vertx, VertxTestContext testContext) {
loadBuilderAndStartServer(vertx, SPEC_URL, testContext, routerBuilder -> {
routerBuilder.setOptions(new RouterBuilderOptions().setMountNotImplementedHandler(false));
routerBuilder.operation("cookie_form_noexplode_string").handler(routingContext -> {
RequestParameters params = routingContext.get("parsedParameters");
JsonObject res = new JsonObject();
testContext.verify(() -> {
RequestParameter color_cookie = params.cookieParameter("color");
assertThat(color_cookie).isNotNull();
assertThat(color_cookie.isString()).isTrue();
assertThat(color_cookie.getString()).isEqualTo("blue");
res.put("color", color_cookie.getString());
});
routingContext.response().setStatusCode(200).setStatusMessage("OK").putHeader("content-type", "application/json; charset=utf-8").end(res.encode());
});
}).onComplete(h -> {
String color_cookie;
color_cookie = "blue";
apiClient.cookieFormNoexplodeString(color_cookie, (AsyncResult<HttpResponse> ar) -> {
if (ar.succeeded()) {
testContext.verify(() -> {
assertThat(ar.result().bodyAsJsonObject()).isEqualTo(new JsonObject("{\"color\":\"blue\"}"));
});
testContext.completeNow();
} else {
testContext.failNow(ar.cause());
}
});
});
}
Aggregations