Package org.codehaus.dna.impl

Source Code of org.codehaus.dna.impl.Log4JLoggerTestCase

/*
* Copyright (C) The DNA Group. All rights reserved.
*
* This software is published under the terms of the DNA
* Software License version 1.1, a copy of which has been included
* with this distribution in the LICENSE.txt file.
*/
package org.codehaus.dna.impl;

import junit.framework.TestCase;
import org.apache.log4j.Appender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.codehaus.dna.impl.Log4JLogger;

public class Log4JLoggerTestCase
    extends TestCase
{
    public void testLog4JLoggerEmptyCtor()
        throws Exception
    {
        try
        {
            new Log4JLogger( null );
        }
        catch( NullPointerException npe )
        {
            assertEquals( "npe.getMessage()", "logger", npe.getMessage() );
        }
    }

    public void testLog4JLoggerGetChildLogger()
        throws Exception
    {
        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, Level.DEBUG );

        assertNotSame( "logger.getChildLogger == logger",
                       logger,
                       logger.getChildLogger( "whatever" ) );
    }

    public void testLog4JLoggerTraceEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.DEBUG;
        final String message = "Meep!";
        final Throwable throwable = null;
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.trace( message );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerTraceDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.trace( message );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerTraceWithExceptionEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.DEBUG;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );

        logger.trace( message, throwable );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerTraceWithExceptionDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );

        logger.trace( message, throwable );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerDebugEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.DEBUG;
        final String message = "Meep!";
        final Throwable throwable = null;
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.debug( message );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerDebugDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.debug( message );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerDebugWithExceptionEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.DEBUG;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.debug( message, throwable );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerDebugWithExceptionDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.debug( message, throwable );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerInfoEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.INFO;
        final String message = "Meep!";
        final Throwable throwable = null;
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.info( message );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerInfoDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.info( message );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerInfoWithExceptionEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.INFO;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.info( message, throwable );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerInfoWithExceptionDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.info( message, throwable );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerWarnEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.WARN;
        final String message = "Meep!";
        final Throwable throwable = null;
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.warn( message );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerWarnDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.warn( message );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerWarnWithExceptionEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.WARN;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.warn( message, throwable );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerWarnWithExceptionDisabled()
        throws Exception
    {
        final Level level = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.warn( message, throwable );
        checkLogger( target, false, null, null, null );
    }

    public void testLog4JLoggerErrorEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = null;
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.error( message );
        checkLogger( target, output, message, throwable, type );
    }

    public void testLog4JLoggerErrorWithExceptionEnabled()
        throws Exception
    {
        final Level level = Level.DEBUG;
        final Level type = Level.ERROR;
        final String message = "Meep!";
        final Throwable throwable = new Throwable();
        final boolean output = true;

        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, level );
        logger.error( message, throwable );
        checkLogger( target, output, message, throwable, type );
    }

    public void testConsoleLevelComparisonWithDebugEnabled()
        throws Exception
    {
        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, Level.DEBUG );

        assertEquals( "logger.isTraceEnabled()", true, logger.isTraceEnabled() );
        assertEquals( "logger.isDebugEnabled()", true, logger.isDebugEnabled() );
        assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() );
        assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() );
        assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() );
    }

    public void testConsoleLevelComparisonWithInfoEnabled()
        throws Exception
    {
        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, Level.INFO );

        assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() );
        assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() );
        assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() );
        assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() );
        assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() );
    }

    public void testConsoleLevelComparisonWithWarnEnabled()
        throws Exception
    {
        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, Level.WARN );

        assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() );
        assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() );
        assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() );
        assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() );
        assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() );
    }

    public void testConsoleLevelComparisonWithErrorEnabled()
        throws Exception
    {
        final MockAppender target = new MockAppender();
        final Log4JLogger logger = createLogger( target, Level.ERROR );

        assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() );
        assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() );
        assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() );
        assertEquals( "logger.isWarnEnabled()", false, logger.isWarnEnabled() );
        assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() );
    }

    private Log4JLogger createLogger( final Appender target,
                                      final Level priority )
    {
        final Logger log4jLogger = Logger.getLogger( "test" );
        log4jLogger.removeAllAppenders();
        log4jLogger.addAppender( target );
        log4jLogger.setLevel( priority );
        return new Log4JLogger( log4jLogger );
    }

    private void checkLogger( final MockAppender target,
                              final boolean output,
                              final String message,
                              final Throwable throwable,
                              final Level priority )
    {
        assertEquals( "logger.m_message == message", message, target.m_message );
        assertEquals( "logger.m_output == output", output, target.m_output );
        assertEquals( "logger.m_throwable == null", throwable, target.m_throwable );
        assertEquals( "logger.m_priority == null", priority, target.m_priority );
    }
}
TOP

Related Classes of org.codehaus.dna.impl.Log4JLoggerTestCase

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.