|
3 | 3 | import io.jooby.Body; |
4 | 4 | import io.jooby.Context; |
5 | 5 | import io.jooby.FileUpload; |
| 6 | +import io.jooby.MissingValueException; |
6 | 7 | import io.jooby.MockContext; |
7 | 8 | import io.jooby.Multipart; |
| 9 | +import io.jooby.ProvisioningException; |
8 | 10 | import io.jooby.Reified; |
9 | 11 | import io.jooby.StatusCode; |
10 | 12 | import io.jooby.apt.MvcHandlerCompilerRunner; |
|
13 | 15 | import source.JavaBeanParam; |
14 | 16 | import source.JaxrsController; |
15 | 17 | import source.NoPathRoute; |
| 18 | +import source.NullRoutes; |
16 | 19 | import source.Provisioning; |
17 | 20 |
|
18 | 21 | import java.io.InputStream; |
|
30 | 33 | import java.util.UUID; |
31 | 34 |
|
32 | 35 | import static org.junit.Assert.assertEquals; |
| 36 | +import static org.junit.jupiter.api.Assertions.assertThrows; |
33 | 37 | import static org.mockito.Mockito.mock; |
34 | 38 | import static org.mockito.Mockito.when; |
35 | 39 |
|
@@ -79,7 +83,7 @@ public void queryParam() throws Exception { |
79 | 83 | @Test |
80 | 84 | public void cookieParam() throws Exception { |
81 | 85 | new MvcHandlerCompilerRunner(new Provisioning()) |
82 | | - .compile("/p/cookieParam", handler -> { |
| 86 | + .compile("/p/cookieParam", true, handler -> { |
83 | 87 | assertEquals("cookie", |
84 | 88 | handler.apply(new MockContext().setCookieMap(mapOf("c", "cookie")))); |
85 | 89 | }) |
@@ -402,6 +406,22 @@ public void noTopLevel() throws Exception { |
402 | 406 | ; |
403 | 407 | } |
404 | 408 |
|
| 409 | + @Test |
| 410 | + public void nullRoutes() throws Exception { |
| 411 | + new MvcHandlerCompilerRunner(new NullRoutes()) |
| 412 | + .compile("/nullok", true, handler -> { |
| 413 | + assertEquals("null", handler.apply(new MockContext())); |
| 414 | + }) |
| 415 | + .compile("/nonnull", handler -> { |
| 416 | + assertThrows(MissingValueException.class, () -> handler.apply(new MockContext())); |
| 417 | + }) |
| 418 | + |
| 419 | + .compile("/nullbean", handler -> { |
| 420 | + assertThrows(ProvisioningException.class, () -> handler.apply(new MockContext())); |
| 421 | + }) |
| 422 | + ; |
| 423 | + } |
| 424 | + |
405 | 425 | private Context mockContext(String method, String path) { |
406 | 426 | Context ctx = mock(Context.class); |
407 | 427 | when(ctx.getMethod()).thenReturn(method); |
|
0 commit comments