Skip to content

Commit

Permalink
[ issue #15 ] Log (unit) test case
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrea Gazzarini committed Mar 17, 2015
1 parent 500ae52 commit 7aca6f6
Show file tree
Hide file tree
Showing 2 changed files with 128 additions and 14 deletions.
28 changes: 14 additions & 14 deletions solrdf/src/main/java/org/gazzax/labs/solrdf/log/Log.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.gazzax.labs.solrdf.log;

import org.slf4j.Logger;

import static org.gazzax.labs.solrdf.log.MessageFactory.*;
/**
* Logger wrapper.
* A simple SLF4j wrapper that avoids "if" statements within the code.
Expand All @@ -11,15 +11,15 @@
*/
public class Log {

private final Logger _logger;
private final Logger logger;

/**
* Builds a new Log wrapper with a given logger.
*
* @param logger the {@link Logger} implementation.
*/
public Log(final Logger logger) {
_logger = logger;
this.logger = logger;
}

/**
Expand All @@ -28,7 +28,7 @@ public Log(final Logger logger) {
* @param message the log message.
*/
public void info(final String message) {
_logger.info(message);
logger.info(message);
}

/**
Expand All @@ -38,7 +38,7 @@ public void info(final String message) {
* @param values values that will replace the message placeholders.
*/
public void info(final String message, final Object ... values) {
_logger.info(String.format(message, values));
logger.info(createMessage(message, values));
}

/**
Expand All @@ -47,7 +47,7 @@ public void info(final String message, final Object ... values) {
* @param message the log message.
*/
public void debug(final String message) {
_logger.debug(message);
logger.debug(message);
}

/**
Expand All @@ -57,8 +57,8 @@ public void debug(final String message) {
* @param values values that will replace the message placeholders.
*/
public void debug(final String message, final Object ... values) {
if (_logger.isDebugEnabled()) {
_logger.debug(String.format(message, values));
if (isDebugEnabled()) {
logger.debug(createMessage(message, values));
}
}

Expand All @@ -69,7 +69,7 @@ public void debug(final String message, final Object ... values) {
* @param values values that will replace the message placeholders.
*/
public void error(final String message, final Object ... values) {
_logger.error(String.format(message, values));
logger.error(createMessage(message, values));
}

/**
Expand All @@ -80,7 +80,7 @@ public void error(final String message, final Object ... values) {
* @param values values that will replace the message placeholders.
*/
public void error(final String message, final Throwable cause, final Object ... values) {
_logger.error(String.format(message, values));
logger.error(createMessage(message, values), cause);
}

/**
Expand All @@ -90,7 +90,7 @@ public void error(final String message, final Throwable cause, final Object ...
* @param cause the underlying cause.
*/
public void error(final String message, final Throwable cause) {
_logger.error(message, cause);
logger.error(message, cause);
}

/**
Expand All @@ -99,7 +99,7 @@ public void error(final String message, final Throwable cause) {
* @param message the log message.
*/
public void warning(final String message) {
_logger.warn(message);
logger.warn(message);
}

/**
Expand All @@ -109,7 +109,7 @@ public void warning(final String message) {
* @param values values that will replace the message placeholders.
*/
public void warning(final String message, final Object ... values) {
_logger.warn(String.format(message, values));
logger.warn(createMessage(message, values));
}

/**
Expand All @@ -118,6 +118,6 @@ public void warning(final String message, final Object ... values) {
* @return true if the DEBUG level has been enabled for this logger.
*/
public boolean isDebugEnabled() {
return _logger.isDebugEnabled();
return logger.isDebugEnabled();
}
}
114 changes: 114 additions & 0 deletions solrdf/src/test/java/org/gazzax/labs/solrdf/log/LogTestCase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
package org.gazzax.labs.solrdf.log;

import static org.mockito.Mockito.*;
import static org.gazzax.labs.solrdf.TestUtility.*;

import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;

/**
* Test case for {@link Log} class.
*
* @author Andrea Gazzarini
* @since 1.0
*/
public class LogTestCase {
final Object [] randomValues = { randomString(), randomString() };

private Log log;
private Logger logger;

/**
* Setup fixture for this test case.
*/
@Before
public void setUp() {
logger = mock(Logger.class);
log = new Log(logger);
}

@Test
public void infoWithMessage() {
final String message = randomString();
log.info(message);
verify(logger).info(message);
}

@Test
public void infoWithMessageAndPlaceHolders() {
final String message = randomString();
final Object [] values = {randomString(), randomString()};

log.info(message, values);
verify(logger).info(anyString());
}

@Test
public void debugWithMessage() {
final String message = randomString();
log.debug(message);
verify(logger).debug(message);
}

@Test
public void debugWithMessageAndPlaceHolders() {
final String message = randomString();
final Object [] values = {randomString(), randomString()};

when(logger.isDebugEnabled()).thenReturn(true);

log.debug(message, values);
verify(logger).isDebugEnabled();
verify(logger).debug(anyString());
}

@Test
public void debugWithDebugLevelDisabled() {
final String message = randomString();
final Object [] values = {randomString(), randomString()};

when(logger.isDebugEnabled()).thenReturn(false);

log.debug(message, values);
verify(logger).isDebugEnabled();
verifyNoMoreInteractions(logger);
}

@Test
public void errorWithMessageAndPlaceHolders() {
log.error(randomString(), randomValues);
verify(logger).error(anyString());
}

@Test
public void errorWithMessageThrowableAndPlaceHolders() {
final Exception exception = new Exception();
log.error(randomString(), exception, randomValues);
verify(logger).error(anyString(), any(Exception.class));
}

@Test
public void errorWithMessageAndThrowable() {
final String message = randomString();
final Exception exception = new Exception();

log.error(message, exception);
verify(logger).error(message, exception);
}

@Test
public void warningWithMessage() {
final String message = randomString();
log.warning(message);
verify(logger).warn(message);
}

@Test
public void warningWithMessageAndPlaceHolders() {
final String message = randomString();

log.warning(message, randomValues);
verify(logger).warn(anyString());
}
}

0 comments on commit 7aca6f6

Please sign in to comment.