[LOGBack-dev] svn commit: r591 - in logback/trunk/logback-access/src: main/java/ch/qos/logback/access test/java test/java/ch test/java/ch/qos test/java/ch/qos/logback test/java/ch/qos/logback/access test/java/ch/qos/logback/access/pattern test/java/ch/qos/logback/access/pattern/helpers
noreply.seb at qos.ch
noreply.seb at qos.ch
Fri Sep 15 16:00:56 CEST 2006
Author: seb
Date: Fri Sep 15 16:00:56 2006
New Revision: 591
Added:
logback/trunk/logback-access/src/test/java/
logback/trunk/logback-access/src/test/java/ch/
logback/trunk/logback-access/src/test/java/ch/qos/
logback/trunk/logback-access/src/test/java/ch/qos/logback/
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyRequest.java
logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyResponse.java
Modified:
logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java
Log:
- added word patterns to PatternLayout
- added a test class for Converters.
- added two dummy implementations of HttpServletRequest and HttpServletResponse
Modified: logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java
==============================================================================
--- logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java (original)
+++ logback/trunk/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java Fri Sep 15 16:00:56 2006
@@ -64,6 +64,7 @@
defaultConverterMap.put("l", NAConverter.class.getName());
defaultConverterMap.put("m", RequestMethodConverter.class.getName());
+ defaultConverterMap.put("requestMethod", RequestMethodConverter.class.getName());
defaultConverterMap.put("r", RequestURLConverter.class.getName());
defaultConverterMap.put("requestURL", RequestURLConverter.class.getName());
@@ -73,12 +74,16 @@
defaultConverterMap.put("t", DateConverter.class.getName());
+ defaultConverterMap.put("date", DateConverter.class.getName());
defaultConverterMap.put("u", RemoteUserConverter.class.getName());
+ defaultConverterMap.put("user", RemoteUserConverter.class.getName());
defaultConverterMap.put("U", RequestURIConverter.class.getName());
+ defaultConverterMap.put("requestURI", RequestURIConverter.class.getName());
defaultConverterMap.put("v", ServerNameConverter.class.getName());
+ defaultConverterMap.put("server", ServerNameConverter.class.getName());
}
@@ -90,7 +95,7 @@
/**
* Returns the default converter map for this instance.
*/
- public Map getDefaultConverterMap() {
+ public Map<String, String> getDefaultConverterMap() {
return defaultConverterMap;
}
Added: logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java Fri Sep 15 16:00:56 2006
@@ -0,0 +1,162 @@
+package ch.qos.logback.access.pattern;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.TestCase;
+import ch.qos.logback.access.pattern.helpers.DummyRequest;
+import ch.qos.logback.access.pattern.helpers.DummyResponse;
+import ch.qos.logback.access.spi.AccessEvent;
+
+public class ConverterTest extends TestCase {
+
+ AccessEvent event;
+ HttpServletRequest request;
+ HttpServletResponse response;
+
+ public void setUp() throws Exception {
+ super.setUp();
+ request = new DummyRequest();
+ response = new DummyResponse();
+ event = createEvent();
+ }
+
+ public void tearDown() throws Exception {
+ super.tearDown();
+ event = null;
+ request = null;
+ response = null;
+ }
+
+ public void testContentLengthConverter() {
+ // TODO when AccessEvent has been modified
+ }
+
+ public void testDateConverter() {
+ DateConverter converter = new DateConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(converter.simpleFormat.format(event.getTimeStamp()), result);
+ }
+
+ public void testLineLocalPortConverter() {
+ LocalPortConverter converter = new LocalPortConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(Integer.toString(request.getLocalPort()), result);
+ }
+
+ public void testRemoteHostConverter() {
+ RemoteHostConverter converter = new RemoteHostConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getRemoteHost(), result);
+ }
+
+ public void testRemoteIPAddressConverter() {
+ RemoteIPAddressConverter converter = new RemoteIPAddressConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getRemoteAddr(), result);
+ }
+
+ public void testRemoteUserConverter() {
+ RemoteUserConverter converter = new RemoteUserConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getRemoteUser(), result);
+ }
+
+ public void testRequestAttributeConverter() {
+ RequestAttributeConverter converter = new RequestAttributeConverter();
+ List<String> optionList = new ArrayList<String>();
+ optionList.add("testKey");
+ converter.setOptionList(optionList);
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getAttribute("testKey"), result);
+ }
+
+ public void testRequestCookieConverter() {
+ RequestCookieConverter converter = new RequestCookieConverter();
+ List<String> optionList = new ArrayList<String>();
+ optionList.add("testName");
+ converter.setOptionList(optionList);
+ converter.start();
+ String result = converter.convert(event);
+ Cookie cookie = request.getCookies()[0];
+ assertEquals(cookie.getValue(), result);
+ }
+
+ public void testRequestHeaderConverter() {
+ RequestHeaderConverter converter = new RequestHeaderConverter();
+ List<String> optionList = new ArrayList<String>();
+ optionList.add("headerName1");
+ converter.setOptionList(optionList);
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getHeader("headerName1"), result);
+ }
+
+ public void testRequestMethodConverter() {
+ RequestMethodConverter converter = new RequestMethodConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getMethod(), result);
+ }
+
+ public void testRequestProtocolConverter() {
+ RequestProtocolConverter converter = new RequestProtocolConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getProtocol(), result);
+ }
+
+ public void testRequestURIConverter() {
+ RequestURIConverter converter = new RequestURIConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getRequestURI(), result);
+ }
+
+ public void testRequestURLConverter() {
+ RequestURLConverter converter = new RequestURLConverter();
+ converter.start();
+ String result = converter.convert(event);
+ String expected = request.getMethod() + " " + request.getRequestURI() + " "
+ + request.getProtocol();
+ assertEquals(expected, result);
+ }
+
+ public void testResponseHeaderConverter() {
+ // TODO
+ // ResponseHeaderConverter converter = new ResponseHeaderConverter();
+ // List<String> optionList = new ArrayList<String>();
+ // optionList.add("headerName1");
+ // converter.setOptionList(optionList);
+ // converter.start();
+ // String result = converter.convert(event);
+ // assertEquals(request.getHeader("headerName1"), result);
+ }
+
+ public void testServerNameConverter() {
+ ServerNameConverter converter = new ServerNameConverter();
+ converter.start();
+ String result = converter.convert(event);
+ assertEquals(request.getServerName(), result);
+ }
+
+ public void testStatusCodeConverter() {
+ //TODO
+ }
+
+ private AccessEvent createEvent() {
+ AccessEvent ae = new AccessEvent(request, response);
+ return ae;
+ }
+
+}
Added: logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyRequest.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyRequest.java Fri Sep 15 16:00:56 2006
@@ -0,0 +1,246 @@
+package ch.qos.logback.access.pattern.helpers;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+public class DummyRequest implements HttpServletRequest {
+
+ Hashtable<String, String> headerNames;
+
+ public DummyRequest() {
+ headerNames = new Hashtable<String, String>();
+ headerNames.put("headerName1", "headerValue1");
+ headerNames.put("headerName2", "headerValue2");
+ }
+
+ public String getAuthType() {
+ return null;
+ }
+
+ public String getContextPath() {
+ return null;
+ }
+
+ public Cookie[] getCookies() {
+ Cookie cookie = new Cookie("testName", "testCookie");
+ return new Cookie[] {cookie};
+ }
+
+ public long getDateHeader(String arg0) {
+ return 0;
+ }
+
+ public String getHeader(String key) {
+ return headerNames.get(key);
+ }
+
+ public Enumeration getHeaderNames() {
+ return headerNames.keys();
+ }
+
+ public Enumeration getHeaders(String arg0) {
+ return null;
+ }
+
+ public int getIntHeader(String arg0) {
+ return 0;
+ }
+
+ public String getMethod() {
+ return "testMethod";
+ }
+
+ public String getPathInfo() {
+ return null;
+ }
+
+ public String getPathTranslated() {
+ return null;
+ }
+
+ public String getQueryString() {
+ return null;
+ }
+
+ public String getRemoteUser() {
+ return "testUser";
+ }
+
+ public String getRequestURI() {
+ return "testURI";
+ }
+
+ public StringBuffer getRequestURL() {
+ return null;
+ }
+
+ public String getRequestedSessionId() {
+ return null;
+ }
+
+ public String getServletPath() {
+ return null;
+ }
+
+ public HttpSession getSession() {
+ return null;
+ }
+
+ public HttpSession getSession(boolean arg0) {
+ return null;
+ }
+
+ public Principal getUserPrincipal() {
+ return null;
+ }
+
+ public boolean isRequestedSessionIdFromCookie() {
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromURL() {
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromUrl() {
+ return false;
+ }
+
+ public boolean isRequestedSessionIdValid() {
+ return false;
+ }
+
+ public boolean isUserInRole(String arg0) {
+ return false;
+ }
+
+ public Object getAttribute(String key) {
+ if (key.equals("testKey")) {
+ return "testKey";
+ } else {
+ return null;
+ }
+ }
+
+ public Enumeration getAttributeNames() {
+ return null;
+ }
+
+ public String getCharacterEncoding() {
+ return null;
+ }
+
+ public int getContentLength() {
+ return 0;
+ }
+
+ public String getContentType() {
+ return null;
+ }
+
+ public ServletInputStream getInputStream() throws IOException {
+ return null;
+ }
+
+ public String getLocalAddr() {
+ return null;
+ }
+
+ public String getLocalName() {
+ return null;
+ }
+
+ public int getLocalPort() {
+ return 11;
+ }
+
+ public Locale getLocale() {
+ return null;
+ }
+
+ public Enumeration getLocales() {
+ return null;
+ }
+
+ public String getParameter(String arg0) {
+ return null;
+ }
+
+ public Map getParameterMap() {
+ return null;
+ }
+
+ public Enumeration getParameterNames() {
+ return null;
+ }
+
+ public String[] getParameterValues(String arg0) {
+ return null;
+ }
+
+ public String getProtocol() {
+ return "testProtocol";
+ }
+
+ public BufferedReader getReader() throws IOException {
+ return null;
+ }
+
+ public String getRealPath(String arg0) {
+ return null;
+ }
+
+ public String getRemoteAddr() {
+ return "testRemoteAddress";
+ }
+
+ public String getRemoteHost() {
+ return "testHost";
+ }
+
+ public int getRemotePort() {
+ return 0;
+ }
+
+ public RequestDispatcher getRequestDispatcher(String arg0) {
+ return null;
+ }
+
+ public String getScheme() {
+ return null;
+ }
+
+ public String getServerName() {
+ return "testServerName";
+ }
+
+ public int getServerPort() {
+ return 0;
+ }
+
+ public boolean isSecure() {
+ return false;
+ }
+
+ public void removeAttribute(String arg0) {
+ }
+
+ public void setAttribute(String arg0, Object arg1) {
+ }
+
+ public void setCharacterEncoding(String arg0)
+ throws UnsupportedEncodingException {
+ }
+}
Added: logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyResponse.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-access/src/test/java/ch/qos/logback/access/pattern/helpers/DummyResponse.java Fri Sep 15 16:00:56 2006
@@ -0,0 +1,131 @@
+package ch.qos.logback.access.pattern.helpers;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Hashtable;
+import java.util.Locale;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+
+public class DummyResponse implements HttpServletResponse {
+
+ Hashtable<String, String> headerNames;
+
+ public DummyResponse() {
+ headerNames = new Hashtable<String, String>();
+ headerNames.put("headerName1", "headerValue1");
+ headerNames.put("headerName2", "headerValue2");
+ }
+
+ public void addCookie(Cookie arg0) {
+
+ }
+
+ public void addDateHeader(String arg0, long arg1) {
+ }
+
+ public void addHeader(String arg0, String arg1) {
+ }
+
+ public void addIntHeader(String arg0, int arg1) {
+ }
+
+ public boolean containsHeader(String arg0) {
+ return false;
+ }
+
+ public String encodeRedirectURL(String arg0) {
+ return null;
+ }
+
+ public String encodeRedirectUrl(String arg0) {
+ return null;
+ }
+
+ public String encodeURL(String arg0) {
+ return null;
+ }
+
+ public String encodeUrl(String arg0) {
+ return null;
+ }
+
+ public void sendError(int arg0) throws IOException {
+ }
+
+ public void sendError(int arg0, String arg1) throws IOException {
+ }
+
+ public void sendRedirect(String arg0) throws IOException {
+ }
+
+ public void setDateHeader(String arg0, long arg1) {
+ }
+
+ public void setHeader(String arg0, String arg1) {
+ }
+
+ public void setIntHeader(String arg0, int arg1) {
+ }
+
+ public void setStatus(int arg0) {
+ }
+
+ public void setStatus(int arg0, String arg1) {
+ }
+
+ public void flushBuffer() throws IOException {
+ }
+
+ public int getBufferSize() {
+ return 0;
+ }
+
+ public String getCharacterEncoding() {
+ return null;
+ }
+
+ public String getContentType() {
+ return null;
+ }
+
+ public Locale getLocale() {
+ return null;
+ }
+
+ public ServletOutputStream getOutputStream() throws IOException {
+ return null;
+ }
+
+ public PrintWriter getWriter() throws IOException {
+ return null;
+ }
+
+ public boolean isCommitted() {
+ return false;
+ }
+
+ public void reset() {
+ }
+
+ public void resetBuffer() {
+ }
+
+ public void setBufferSize(int arg0) {
+ }
+
+ public void setCharacterEncoding(String arg0) {
+ }
+
+ public void setContentLength(int arg0) {
+ }
+
+ public void setContentType(String arg0) {
+ }
+
+ public void setLocale(Locale arg0) {
+ }
+
+}
More information about the logback-dev
mailing list