package org.jooby; import java.util.NoSuchElementException; import org.jooby.test.ServerFeature; import org.junit.Test; public class ErrDefaultStatusCodeFeature extends ServerFeature { { get("/IllegalArgumentException", (req, rsp) -> { throw new IllegalArgumentException("intentional err"); }); get("/NoSuchElementException", (req, rsp) -> { throw new NoSuchElementException("intentional err"); }); get("/Err", (req, rsp) -> { throw new Err(Status.BAD_REQUEST, "intentional err"); }); get("/NullPointerException", (req, rsp) -> { throw new NullPointerException("intentional err"); }); get("/NotAcceptable", (req, rsp) -> { rsp.send(new Object()); }).produces("json"); post("/UnsupportedMediaType", (req, rsp) -> { rsp.send(req.body().to(String.class)); }).consumes("json"); } @Test public void errIllegalArgumentException() throws Exception { request() .get("/IllegalArgumentException") .expect(400); } @Test public void errNoSuchElementException() throws Exception { request() .get("/NoSuchElementException") .expect(400); } @Test public void errNullPointerException() throws Exception { request() .get("/NullPointerException") .expect(500); } @Test public void err() throws Exception { request() .get("/Err") .expect(400); } @Test public void NotAcceptable() throws Exception { request() .get("/NotAcceptable") .header("Accept", "text/html") .expect(406); } @Test public void unsupportedMediaType() throws Exception { request() .post("/UnsupportedMediaType") .body("<xml><form></form>", "application/xml") .expect(415); } }