@@ -9,6 +9,7 @@ import assertk.assertions.isTrue
99import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent
1010import io.mockk.mockk
1111import io.moia.router.Router.Companion.router
12+ import org.junit.jupiter.api.Assertions.assertEquals
1213import org.junit.jupiter.api.Test
1314
1415class RequestHandlerTest {
@@ -371,6 +372,17 @@ class RequestHandlerTest {
371372 )
372373 }
373374
375+ @Test
376+ fun `Not existing path parameter should throw an error` () {
377+ val response = testRequestHandler.handleRequest(
378+ GET (" /non-existing-path-parameter" )
379+ .withHeader(" accept" , " application/json" ),
380+ mockk()
381+ )
382+ assertEquals(500 , response.statusCode)
383+ assertEquals(" {\" message\" :\" Could not find path parameter 'foo\" ,\" code\" :\" INTERNAL_SERVER_ERROR\" ,\" details\" :{}}" , response.body)
384+ }
385+
374386 class TestRequestHandlerAuthorization : RequestHandler () {
375387 override val router = router {
376388 GET (" /some" ) { _: Request <Unit > ->
@@ -475,6 +487,10 @@ class RequestHandlerTest {
475487 DELETE (" /delete-me" ) { _: Request <Unit > ->
476488 ResponseEntity .noContent()
477489 }
490+ GET (" /non-existing-path-parameter" ) { request: Request <Unit > ->
491+ request.getPathParameter(" foo" )
492+ ResponseEntity .ok(null )
493+ }
478494 }
479495 }
480496
0 commit comments