@Test public void testParamsAndStatic() throws Exception { final TestHandler h1 = new TestHandler("h1"); final TestHandler h2 = new TestHandler("h2"); final TestHandler h3 = new TestHandler("h3"); final Router service = new Router() // .add("/{id}/{param}", h1) // .add("/{id}/reallylongstatic", h2) // .add("/{id}/static", h3); // final Router root = new Router().add("/service", service); root.handle(new TestRequest("/service/1/2", "/service/1/2", "user")); assertEquals(1, h1.requests); assertEquals(0, h2.requests); assertEquals(0, h3.requests); root.handle( new TestRequest("/service/1/reallylongstatic", "/service/1/reallylongstatic", "user")); assertEquals(1, h1.requests); assertEquals(1, h2.requests); assertEquals(0, h3.requests); root.handle(new TestRequest("/service/1/static", "/service/1/static", "user")); assertEquals(1, h1.requests); assertEquals(1, h2.requests); assertEquals(1, h3.requests); }
@Test public void testSoloParamPrefix() throws Exception { final TestHandler h1 = new TestHandler("h1"); final Router service = new Router().add("/{id}", h1); final Router root = new Router().add("/service", service); root.handle(new TestRequest("/service/xyz/sub", "/service/xyz/sub", "user")); assertEquals(1, h1.requests); }
@Test public void testRequest() throws Exception { final TestHandler account = new TestHandler("account"); final Router accounts = new Router().add("/{id}", account); final Router root = new Router().add("/accounts", accounts); root.handle(new TestRequest("/accounts/1234", "/accounts/1234", "1234")); assertEquals(1, account.requests); assertEquals(0, account.exceptions); }
@Test public void testParams() throws Exception { final TestHandler account = new TestHandler("account"); final Router accounts = new Router().add("/{id}", account); final Router root = new Router().add("/accounts", accounts); root.handle(new TestRequest("/accounts/1234", "/accounts/1234", "1234")); assertEquals(1, account.requests); assertEquals(0, account.exceptions); assertEquals(1, account.params.size()); assertNotNull(account.params.get("id")); assertEquals(1, account.params.get("id").size()); assertEquals("1234", account.params.get("id").get(0)); }
@Override public void handle(final HttpServerRequest request) throws IOException { router.handle(request); }