1 package ch.qos.logback.access.pattern; 2 3 import static org.junit.Assert.assertEquals; 4 5 import java.util.ArrayList; 6 import java.util.List; 7 8 import javax.servlet.http.Cookie; 9 10 import org.junit.After; 11 import org.junit.Before; 12 import org.junit.Test; 13 14 import ch.qos.logback.access.dummy.DummyRequest; 15 import ch.qos.logback.access.dummy.DummyResponse; 16 import ch.qos.logback.access.dummy.DummyServerAdapter; 17 import ch.qos.logback.access.spi.AccessEvent; 18 19 public class ConverterTest { 20 21 AccessEvent event; 22 DummyRequest request; 23 DummyResponse response; 24 25 @Before 26 public void setUp() throws Exception { 27 request = new DummyRequest(); 28 response = new DummyResponse(); 29 event = createEvent(); 30 } 31 32 @After 33 public void tearDown() throws Exception { 34 event = null; 35 request = null; 36 response = null; 37 } 38 39 @Test 40 public void testContentLengthConverter() { 41 ContentLengthConverter converter = new ContentLengthConverter(); 42 converter.start(); 43 String result = converter.convert(event); 44 assertEquals(Long.toString(event.getServerAdapter().getContentLength()), result); 45 } 46 47 @Test 48 public void testDateConverter() { 49 DateConverter converter = new DateConverter(); 50 converter.start(); 51 String result = converter.convert(event); 52 assertEquals(converter.simpleFormat.format(event.getTimeStamp()), result); 53 } 54 55 public void testLineLocalPortConverter() { 56 LocalPortConverter converter = new LocalPortConverter(); 57 converter.start(); 58 String result = converter.convert(event); 59 assertEquals(Integer.toString(request.getLocalPort()), result); 60 } 61 62 @Test 63 public void testRemoteHostConverter() { 64 RemoteHostConverter converter = new RemoteHostConverter(); 65 converter.start(); 66 String result = converter.convert(event); 67 assertEquals(request.getRemoteHost(), result); 68 } 69 70 @Test 71 public void testRemoteIPAddressConverter() { 72 RemoteIPAddressConverter converter = new RemoteIPAddressConverter(); 73 converter.start(); 74 String result = converter.convert(event); 75 assertEquals(request.getRemoteAddr(), result); 76 } 77 78 @Test 79 public void testRemoteUserConverter() { 80 RemoteUserConverter converter = new RemoteUserConverter(); 81 converter.start(); 82 String result = converter.convert(event); 83 assertEquals(request.getRemoteUser(), result); 84 } 85 86 @Test 87 public void testRequestAttributeConverter() { 88 RequestAttributeConverter converter = new RequestAttributeConverter(); 89 List<String> optionList = new ArrayList<String>(); 90 optionList.add("testKey"); 91 converter.setOptionList(optionList); 92 converter.start(); 93 String result = converter.convert(event); 94 assertEquals(request.getAttribute("testKey"), result); 95 } 96 97 @Test 98 public void testRequestCookieConverter() { 99 RequestCookieConverter converter = new RequestCookieConverter(); 100 List<String> optionList = new ArrayList<String>(); 101 optionList.add("testName"); 102 converter.setOptionList(optionList); 103 converter.start(); 104 String result = converter.convert(event); 105 Cookie cookie = request.getCookies()[0]; 106 assertEquals(cookie.getValue(), result); 107 } 108 109 @Test 110 public void testRequestHeaderConverter() { 111 RequestHeaderConverter converter = new RequestHeaderConverter(); 112 List<String> optionList = new ArrayList<String>(); 113 optionList.add("headerName1"); 114 converter.setOptionList(optionList); 115 converter.start(); 116 String result = converter.convert(event); 117 assertEquals(request.getHeader("headerName1"), result); 118 } 119 120 @Test 121 public void testRequestMethodConverter() { 122 RequestMethodConverter converter = new RequestMethodConverter(); 123 converter.start(); 124 String result = converter.convert(event); 125 assertEquals(request.getMethod(), result); 126 } 127 128 @Test 129 public void testRequestProtocolConverter() { 130 RequestProtocolConverter converter = new RequestProtocolConverter(); 131 converter.start(); 132 String result = converter.convert(event); 133 assertEquals(request.getProtocol(), result); 134 } 135 136 @Test 137 public void testRequestURIConverter() { 138 RequestURIConverter converter = new RequestURIConverter(); 139 converter.start(); 140 String result = converter.convert(event); 141 assertEquals(request.getRequestURI(), result); 142 } 143 144 @Test 145 public void testRequestURLConverter() { 146 RequestURLConverter converter = new RequestURLConverter(); 147 converter.start(); 148 String result = converter.convert(event); 149 String expected = request.getMethod() + " " + request.getRequestURI() + " " 150 + request.getProtocol(); 151 assertEquals(expected, result); 152 } 153 154 @Test 155 public void testResponseHeaderConverter() { 156 ResponseHeaderConverter converter = new ResponseHeaderConverter(); 157 List<String> optionList = new ArrayList<String>(); 158 optionList.add("headerName1"); 159 converter.setOptionList(optionList); 160 converter.start(); 161 String result = converter.convert(event); 162 assertEquals(request.getHeader("headerName1"), result); 163 } 164 165 @Test 166 public void testServerNameConverter() { 167 ServerNameConverter converter = new ServerNameConverter(); 168 converter.start(); 169 String result = converter.convert(event); 170 assertEquals(request.getServerName(), result); 171 } 172 173 @Test 174 public void testStatusCodeConverter() { 175 StatusCodeConverter converter = new StatusCodeConverter(); 176 converter.start(); 177 String result = converter.convert(event); 178 assertEquals(Integer.toString(event.getServerAdapter().getStatusCode()), result); 179 } 180 181 private AccessEvent createEvent() { 182 DummyServerAdapter dummyAdapter = new DummyServerAdapter(request, response); 183 AccessEvent ae = new AccessEvent(request, response, dummyAdapter); 184 return ae; 185 } 186 187 }