1 /* 2 * Copyright (C) The JContainer Group. All rights reserved. 3 * 4 * This software is published under the terms of the JContainer 5 * Software License version 1.1, a copy of which has been included 6 * with this distribution in the LICENSE.txt file. 7 */ 8 package org.jcontainer.dna.impl; 9 10 import junit.framework.TestCase; 11 import org.apache.log4j.Appender; 12 import org.apache.log4j.Level; 13 import org.apache.log4j.Logger; 14 15 public class Log4JLoggerTestCase 16 extends TestCase 17 { 18 public void testLog4JLoggerEmptyCtor() 19 throws Exception 20 { 21 try 22 { 23 new Log4JLogger( null ); 24 } 25 catch( NullPointerException npe ) 26 { 27 assertEquals( "npe.getMessage()", "logger", npe.getMessage() ); 28 } 29 } 30 31 public void testLog4JLoggerGetChildLogger() 32 throws Exception 33 { 34 final MockAppender target = new MockAppender(); 35 final Log4JLogger logger = createLogger( target, Level.DEBUG ); 36 37 assertNotSame( "logger.getChildLogger == logger", 38 logger, 39 logger.getChildLogger( "whatever" ) ); 40 } 41 42 public void testLog4JLoggerTraceEnabled() 43 throws Exception 44 { 45 final Level level = Level.DEBUG; 46 final Level type = Level.DEBUG; 47 final String message = "Meep!"; 48 final Throwable throwable = null; 49 final boolean output = true; 50 51 final MockAppender target = new MockAppender(); 52 final Log4JLogger logger = createLogger( target, level ); 53 logger.trace( message ); 54 checkLogger( target, output, message, throwable, type ); 55 } 56 57 public void testLog4JLoggerTraceDisabled() 58 throws Exception 59 { 60 final Level level = Level.ERROR; 61 final String message = "Meep!"; 62 63 final MockAppender target = new MockAppender(); 64 final Log4JLogger logger = createLogger( target, level ); 65 logger.trace( message ); 66 checkLogger( target, false, null, null, null ); 67 } 68 69 public void testLog4JLoggerTraceWithExceptionEnabled() 70 throws Exception 71 { 72 final Level level = Level.DEBUG; 73 final Level type = Level.DEBUG; 74 final String message = "Meep!"; 75 final Throwable throwable = new Throwable(); 76 final boolean output = true; 77 78 final MockAppender target = new MockAppender(); 79 final Log4JLogger logger = createLogger( target, level ); 80 81 logger.trace( message, throwable ); 82 checkLogger( target, output, message, throwable, type ); 83 } 84 85 public void testLog4JLoggerTraceWithExceptionDisabled() 86 throws Exception 87 { 88 final Level level = Level.ERROR; 89 final String message = "Meep!"; 90 final Throwable throwable = new Throwable(); 91 92 final MockAppender target = new MockAppender(); 93 final Log4JLogger logger = createLogger( target, level ); 94 95 logger.trace( message, throwable ); 96 checkLogger( target, false, null, null, null ); 97 } 98 99 public void testLog4JLoggerDebugEnabled() 100 throws Exception 101 { 102 final Level level = Level.DEBUG; 103 final Level type = Level.DEBUG; 104 final String message = "Meep!"; 105 final Throwable throwable = null; 106 final boolean output = true; 107 108 final MockAppender target = new MockAppender(); 109 final Log4JLogger logger = createLogger( target, level ); 110 logger.debug( message ); 111 checkLogger( target, output, message, throwable, type ); 112 } 113 114 public void testLog4JLoggerDebugDisabled() 115 throws Exception 116 { 117 final Level level = Level.ERROR; 118 final String message = "Meep!"; 119 120 final MockAppender target = new MockAppender(); 121 final Log4JLogger logger = createLogger( target, level ); 122 logger.debug( message ); 123 checkLogger( target, false, null, null, null ); 124 } 125 126 public void testLog4JLoggerDebugWithExceptionEnabled() 127 throws Exception 128 { 129 final Level level = Level.DEBUG; 130 final Level type = Level.DEBUG; 131 final String message = "Meep!"; 132 final Throwable throwable = new Throwable(); 133 final boolean output = true; 134 135 final MockAppender target = new MockAppender(); 136 final Log4JLogger logger = createLogger( target, level ); 137 logger.debug( message, throwable ); 138 checkLogger( target, output, message, throwable, type ); 139 } 140 141 public void testLog4JLoggerDebugWithExceptionDisabled() 142 throws Exception 143 { 144 final Level level = Level.ERROR; 145 final String message = "Meep!"; 146 final Throwable throwable = new Throwable(); 147 148 final MockAppender target = new MockAppender(); 149 final Log4JLogger logger = createLogger( target, level ); 150 logger.debug( message, throwable ); 151 checkLogger( target, false, null, null, null ); 152 } 153 154 public void testLog4JLoggerInfoEnabled() 155 throws Exception 156 { 157 final Level level = Level.DEBUG; 158 final Level type = Level.INFO; 159 final String message = "Meep!"; 160 final Throwable throwable = null; 161 final boolean output = true; 162 163 final MockAppender target = new MockAppender(); 164 final Log4JLogger logger = createLogger( target, level ); 165 logger.info( message ); 166 checkLogger( target, output, message, throwable, type ); 167 } 168 169 public void testLog4JLoggerInfoDisabled() 170 throws Exception 171 { 172 final Level level = Level.ERROR; 173 final String message = "Meep!"; 174 175 final MockAppender target = new MockAppender(); 176 final Log4JLogger logger = createLogger( target, level ); 177 logger.info( message ); 178 checkLogger( target, false, null, null, null ); 179 } 180 181 public void testLog4JLoggerInfoWithExceptionEnabled() 182 throws Exception 183 { 184 final Level level = Level.DEBUG; 185 final Level type = Level.INFO; 186 final String message = "Meep!"; 187 final Throwable throwable = new Throwable(); 188 final boolean output = true; 189 190 final MockAppender target = new MockAppender(); 191 final Log4JLogger logger = createLogger( target, level ); 192 logger.info( message, throwable ); 193 checkLogger( target, output, message, throwable, type ); 194 } 195 196 public void testLog4JLoggerInfoWithExceptionDisabled() 197 throws Exception 198 { 199 final Level level = Level.ERROR; 200 final String message = "Meep!"; 201 final Throwable throwable = new Throwable(); 202 203 final MockAppender target = new MockAppender(); 204 final Log4JLogger logger = createLogger( target, level ); 205 logger.info( message, throwable ); 206 checkLogger( target, false, null, null, null ); 207 } 208 209 public void testLog4JLoggerWarnEnabled() 210 throws Exception 211 { 212 final Level level = Level.DEBUG; 213 final Level type = Level.WARN; 214 final String message = "Meep!"; 215 final Throwable throwable = null; 216 final boolean output = true; 217 218 final MockAppender target = new MockAppender(); 219 final Log4JLogger logger = createLogger( target, level ); 220 logger.warn( message ); 221 checkLogger( target, output, message, throwable, type ); 222 } 223 224 public void testLog4JLoggerWarnDisabled() 225 throws Exception 226 { 227 final Level level = Level.ERROR; 228 final String message = "Meep!"; 229 230 final MockAppender target = new MockAppender(); 231 final Log4JLogger logger = createLogger( target, level ); 232 logger.warn( message ); 233 checkLogger( target, false, null, null, null ); 234 } 235 236 public void testLog4JLoggerWarnWithExceptionEnabled() 237 throws Exception 238 { 239 final Level level = Level.DEBUG; 240 final Level type = Level.WARN; 241 final String message = "Meep!"; 242 final Throwable throwable = new Throwable(); 243 final boolean output = true; 244 245 final MockAppender target = new MockAppender(); 246 final Log4JLogger logger = createLogger( target, level ); 247 logger.warn( message, throwable ); 248 checkLogger( target, output, message, throwable, type ); 249 } 250 251 public void testLog4JLoggerWarnWithExceptionDisabled() 252 throws Exception 253 { 254 final Level level = Level.ERROR; 255 final String message = "Meep!"; 256 final Throwable throwable = new Throwable(); 257 258 final MockAppender target = new MockAppender(); 259 final Log4JLogger logger = createLogger( target, level ); 260 logger.warn( message, throwable ); 261 checkLogger( target, false, null, null, null ); 262 } 263 264 public void testLog4JLoggerErrorEnabled() 265 throws Exception 266 { 267 final Level level = Level.DEBUG; 268 final Level type = Level.ERROR; 269 final String message = "Meep!"; 270 final Throwable throwable = null; 271 final boolean output = true; 272 273 final MockAppender target = new MockAppender(); 274 final Log4JLogger logger = createLogger( target, level ); 275 logger.error( message ); 276 checkLogger( target, output, message, throwable, type ); 277 } 278 279 public void testLog4JLoggerErrorWithExceptionEnabled() 280 throws Exception 281 { 282 final Level level = Level.DEBUG; 283 final Level type = Level.ERROR; 284 final String message = "Meep!"; 285 final Throwable throwable = new Throwable(); 286 final boolean output = true; 287 288 final MockAppender target = new MockAppender(); 289 final Log4JLogger logger = createLogger( target, level ); 290 logger.error( message, throwable ); 291 checkLogger( target, output, message, throwable, type ); 292 } 293 294 public void testConsoleLevelComparisonWithDebugEnabled() 295 throws Exception 296 { 297 final MockAppender target = new MockAppender(); 298 final Log4JLogger logger = createLogger( target, Level.DEBUG ); 299 300 assertEquals( "logger.isTraceEnabled()", true, logger.isTraceEnabled() ); 301 assertEquals( "logger.isDebugEnabled()", true, logger.isDebugEnabled() ); 302 assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() ); 303 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 304 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 305 } 306 307 public void testConsoleLevelComparisonWithInfoEnabled() 308 throws Exception 309 { 310 final MockAppender target = new MockAppender(); 311 final Log4JLogger logger = createLogger( target, Level.INFO ); 312 313 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 314 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 315 assertEquals( "logger.isInfoEnabled()", true, logger.isInfoEnabled() ); 316 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 317 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 318 } 319 320 public void testConsoleLevelComparisonWithWarnEnabled() 321 throws Exception 322 { 323 final MockAppender target = new MockAppender(); 324 final Log4JLogger logger = createLogger( target, Level.WARN ); 325 326 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 327 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 328 assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() ); 329 assertEquals( "logger.isWarnEnabled()", true, logger.isWarnEnabled() ); 330 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 331 } 332 333 public void testConsoleLevelComparisonWithErrorEnabled() 334 throws Exception 335 { 336 final MockAppender target = new MockAppender(); 337 final Log4JLogger logger = createLogger( target, Level.ERROR ); 338 339 assertEquals( "logger.isTraceEnabled()", false, logger.isTraceEnabled() ); 340 assertEquals( "logger.isDebugEnabled()", false, logger.isDebugEnabled() ); 341 assertEquals( "logger.isInfoEnabled()", false, logger.isInfoEnabled() ); 342 assertEquals( "logger.isWarnEnabled()", false, logger.isWarnEnabled() ); 343 assertEquals( "logger.isErrorEnabled()", true, logger.isErrorEnabled() ); 344 } 345 346 private Log4JLogger createLogger( final Appender target, 347 final Level priority ) 348 { 349 final Logger log4jLogger = Logger.getLogger( "test" ); 350 log4jLogger.removeAllAppenders(); 351 log4jLogger.addAppender( target ); 352 log4jLogger.setLevel( priority ); 353 return new Log4JLogger( log4jLogger ); 354 } 355 356 private void checkLogger( final MockAppender target, 357 final boolean output, 358 final String message, 359 final Throwable throwable, 360 final Level priority ) 361 { 362 assertEquals( "logger.m_message == message", message, target.m_message ); 363 assertEquals( "logger.m_output == output", output, target.m_output ); 364 assertEquals( "logger.m_throwable == null", throwable, target.m_throwable ); 365 assertEquals( "logger.m_priority == null", priority, target.m_priority ); 366 } 367 }

This page was automatically generated by Maven