Skip to content

Commit f9eb939

Browse files
committed
chore: add custom param type to test suite
1 parent aeda4ae commit f9eb939

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

  • routing-annotations/routing-annotated/src/test/java/io/javalin/community/routing/annotations

routing-annotations/routing-annotated/src/test/java/io/javalin/community/routing/annotations/AnnotatedRoutingTest.kt

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -216,21 +216,29 @@ class AnnotatedRoutingTest {
216216
fun `should inject all supported properties from context`() =
217217
JavalinTest.test(
218218
Javalin.create { cfg ->
219+
cfg.validation.register(UUID::class.java) { value ->
220+
runCatching { UUID.fromString(value) }.getOrNull()
221+
}
222+
219223
cfg.routes(Annotated) {
220224
registerEndpoints(
221225
@Endpoints
222226
object {
223-
@Post("/test/{param}")
227+
@Post("/test/{param}/{param2}/{param3}")
224228
fun test(
225229
ctx: Context,
226230
@Param param: Int,
231+
@Param("param2") param2: UUID,
232+
@Param("param3") optionalParam: Optional<UUID>,
227233
@Header header: Int,
228234
@Header optionalHeader: Optional<String>,
229235
@Query query: Int,
230236
@Cookie cookie: Int,
231237
@Body body: Int,
232238
) {
233239
ctx.header("param", param.toString())
240+
ctx.header("param2", param2.toString())
241+
ctx.header("optionalParam", optionalParam.orElse(null)?.toString() ?: "null")
234242
ctx.header("header", header.toString())
235243
ctx.header("optionalHeader", optionalHeader.orElse("default"))
236244
ctx.header("query", query.toString())
@@ -242,15 +250,18 @@ class AnnotatedRoutingTest {
242250
}
243251
}
244252
) { _, client ->
245-
val responseHeaders = Unirest.post("${client.origin}/test/1")
253+
val response = Unirest.post("${client.origin}/test/1/00000000-0000-0000-0000-000000000000/bad-value")
246254
.header("header", "2")
247255
.queryString("query", "3")
248256
.cookie("cookie", "4")
249257
.body("5")
250258
.asEmpty()
251-
.headers
259+
assertThat(response.status).isEqualTo(200)
252260

261+
val responseHeaders = response.headers
253262
assertThat(responseHeaders.getFirst("param")).isEqualTo("1")
263+
assertThat(responseHeaders.getFirst("param2")).isEqualTo("00000000-0000-0000-0000-000000000000")
264+
assertThat(responseHeaders.getFirst("optionalParam")).isEqualTo("null")
254265
assertThat(responseHeaders.getFirst("header")).isEqualTo("2")
255266
assertThat(responseHeaders.getFirst("optionalHeader")).isEqualTo("default")
256267
assertThat(responseHeaders.getFirst("query")).isEqualTo("3")

0 commit comments

Comments
 (0)