1 package ch.qos.logback.access.net; 2 3 import static org.junit.Assert.*; 4 5 import org.junit.After; 6 import org.junit.Before; 7 import org.junit.Test; 8 9 import ch.qos.logback.access.dummy.DummyRequest; 10 import ch.qos.logback.access.dummy.DummyResponse; 11 import ch.qos.logback.access.dummy.DummyServerAdapter; 12 import ch.qos.logback.access.spi.AccessEvent; 13 import ch.qos.logback.core.Context; 14 import ch.qos.logback.core.ContextBase; 15 import ch.qos.logback.core.boolex.EvaluationException; 16 17 public class URLEvaluatorTest { 18 19 final String expectedURL1 = "testUrl1"; 20 final String expectedURL2 = "testUrl2"; 21 Context context = new ContextBase(); 22 URLEvaluator evaluator; 23 DummyRequest request; 24 DummyResponse response; 25 DummyServerAdapter serverAdapter; 26 27 @Before 28 public void setUp() throws Exception { 29 evaluator = new URLEvaluator(); 30 evaluator.setContext(context); 31 evaluator.addURL(expectedURL1); 32 evaluator.start(); 33 request = new DummyRequest(); 34 response = new DummyResponse(); 35 serverAdapter = new DummyServerAdapter(request, response); 36 } 37 38 @After 39 public void tearDown() throws Exception { 40 evaluator.stop(); 41 evaluator = null; 42 request = null; 43 response = null; 44 serverAdapter = null; 45 context = null; 46 } 47 48 @Test 49 public void testExpectFalse() throws EvaluationException { 50 request.setRequestUri("test"); 51 AccessEvent ae = new AccessEvent(request, response, serverAdapter); 52 assertFalse(evaluator.evaluate(ae)); 53 } 54 55 @Test 56 public void testExpectTrue() throws EvaluationException { 57 request.setRequestUri(expectedURL1); 58 AccessEvent ae = new AccessEvent(request, response, serverAdapter); 59 assertTrue(evaluator.evaluate(ae)); 60 } 61 62 @Test 63 public void testExpectTrueMultiple() throws EvaluationException { 64 evaluator.addURL(expectedURL2); 65 request.setRequestUri(expectedURL2); 66 AccessEvent ae = new AccessEvent(request, response, serverAdapter); 67 assertTrue(evaluator.evaluate(ae)); 68 } 69 }