/*
* LoggerTest.java
* JUnit based test
*
* Created on 19. Januar 2003, 18:09
*/
package org.jzonic.jlo;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import org.jzonic.jlo.handler.MockHandler;
import java.util.Vector;
/**
*
* @author Administrator
*/
public class CompleteLoggerTest extends TestCase {
private static final LogManager manager = LogManager.getInstance();
public CompleteLoggerTest(java.lang.String testName) {
super(testName);
}
public void setUp() throws Exception {
}
public static void main(java.lang.String[] args) {
junit.textui.TestRunner.run(suite());
}
public static Test suite() {
TestSuite suite = new TestSuite(CompleteLoggerTest.class);
return suite;
}
public void testSimpleLogging() {
MockHandler mockHandler = getFreshHandler("TestGenerator");
Logger logger = LogManager.getLogger("org.jzonic.jlo");
logger.debug("debug message");
Vector entries = mockHandler.getMessages();
assertEquals(2,entries.size());
}
public void testSimpleLoggingTargetOff() {
MockHandler mockHandler = getFreshHandler("TestGenerator");
Logger logger = LogManager.getLogger("org.jzonic.jlo");
int targets = logger.getTargets();
logger.setTargets(0);
logger.debug("debug message");
Vector entries = mockHandler.getMessages();
assertEquals(0,entries.size());
logger.setTargets(targets);
}
public void testChannel() {
MockHandler mockHandler = getFreshHandler("TestGenerator");
Channel channel = LogManager.getChannel("debug");
channel.log("debug message");
Vector entries = mockHandler.getMessages();
assertEquals(1,entries.size());
}
public void testLogger2() {
MockHandler mockHandler = getFreshHandler("TestGenerator");
Logger testLogger = LogManager.getLogger("org.jzonic.jlo");
testLogger.trace("Hello world");
assertEquals(1,mockHandler.getMessages().size());
testLogger.info("Hello world");
assertEquals(2,mockHandler.getMessages().size());
testLogger.debug("Hello world");
assertEquals(4,mockHandler.getMessages().size());
testLogger.warn("Hello world");
assertEquals(5,mockHandler.getMessages().size());
testLogger.error("Hello world");
assertEquals(6,mockHandler.getMessages().size());
testLogger.fatal("Hello world");
assertEquals(7,mockHandler.getMessages().size());
}
public void testLogger2Loggable() {
Logger testLogger = LogManager.getLogger("org.jzonic.jlo");
boolean test = testLogger.isTraceEnabled();
assertEquals(true, test);
test = testLogger.isInfoEnabled();
assertEquals(true, test);
test = testLogger.isDebugEnabled();
assertEquals(true, test);
test = testLogger.isWarnEnabled();
assertEquals(true, test);
test = testLogger.isErrorEnabled();
assertEquals(true, test);
test = testLogger.isFatalEnabled();
assertEquals(true, test);
}
public void testLoggerWithFilter() {
MockHandler mockHandler = getFreshHandler("TestGenerator2");
Logger logger = LogManager.getLogger("org.jzonic");
logger.debug("hello world");
assertEquals(0,mockHandler.getMessages().size());
logger.debug("Exception");
assertEquals(1,mockHandler.getMessages().size());
}
public void testLoggerWithRegExFilter() {
MockHandler mockHandler = getFreshHandler("TestGenerator");
Logger logger = LogManager.getLogger("org.jzonic.filter");
logger.debug("hello world");
assertEquals(0,mockHandler.getMessages().size());
logger.debug("This is 1.2 text");
assertEquals(2,mockHandler.getMessages().size());
}
private MockHandler getFreshHandler(String handlerName) {
LogConfiguration config = manager.getLogConfiguration();
assertNotNull(config);
LogGenerator lg = config.getLogGenerator(handlerName);
assertNotNull(lg);
MockHandler mockHandler = (MockHandler)lg.getHandler();
mockHandler.clear();
return mockHandler;
}
}