package org.deftserver.web.handler; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.deftserver.web.Asynchronous; import org.deftserver.web.Authenticated; import org.deftserver.web.HttpVerb; import org.deftserver.web.handler.RequestHandler; import org.deftserver.web.http.HttpRequest; import org.deftserver.web.http.HttpResponse; import org.junit.Test; public class RequestHandlerTest { static class RequestHandler1 extends RequestHandler { @Override @Asynchronous @Authenticated public void get(HttpRequest request, HttpResponse response) {} } static class RequestHandler2 extends RequestHandler { @Override public void get(HttpRequest request, HttpResponse response) { } @Override @Asynchronous @Authenticated public void post(HttpRequest request, HttpResponse response) { } } @Test public void testAsynchronousAnnotations() { RequestHandler rh1 = new RequestHandler1(); RequestHandler rh2 = new RequestHandler2(); assertTrue(rh1.isMethodAsynchronous(HttpVerb.GET)); assertFalse(rh2.isMethodAsynchronous(HttpVerb.GET)); assertTrue(rh2.isMethodAsynchronous(HttpVerb.POST)); } @Test public void testAuthenticatedAnnotations() { RequestHandler rh1 = new RequestHandler1(); RequestHandler rh2 = new RequestHandler2(); assertTrue(rh1.isMethodAuthenticated(HttpVerb.GET)); assertFalse(rh1.isMethodAuthenticated(HttpVerb.POST)); assertFalse(rh1.isMethodAuthenticated(HttpVerb.DELETE)); assertFalse(rh2.isMethodAuthenticated(HttpVerb.GET)); assertFalse(rh2.isMethodAuthenticated(HttpVerb.PUT)); assertTrue(rh2.isMethodAuthenticated(HttpVerb.POST)); } }