From 70e1b266e81888669bc572e99635de000aab67e8 Mon Sep 17 00:00:00 2001 From: wusheng Date: Mon, 27 Feb 2017 15:55:21 +0800 Subject: [PATCH] Add test cases for skywalking-loggings module. --- .../api/logging/api/NoopLogger.java | 4 +- .../api/logging/api/LogManagerTest.java | 93 +++++++++++++++++++ .../api/logging/api/NoopLoggerTest.java | 29 ++++++ 3 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java create mode 100644 skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java index 8088322e1..9f28294ba 100644 --- a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/main/java/com/a/eye/skywalking/api/logging/api/NoopLogger.java @@ -7,8 +7,8 @@ package com.a.eye.skywalking.api.logging.api; *

* Created by xin on 2016/11/10. */ -public class NoopLogger implements ILog { - public static final ILog INSTANCE = new NoopLogger(); +public enum NoopLogger implements ILog { + INSTANCE; @Override public void info(String message) { diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java new file mode 100644 index 000000000..51ce2c81c --- /dev/null +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/LogManagerTest.java @@ -0,0 +1,93 @@ +package com.a.eye.skywalking.api.logging.api; + +import org.junit.After; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.powermock.api.support.membermodification.MemberModifier; + +/** + * Created by wusheng on 2017/2/27. + */ +public class LogManagerTest { + @Test + public void testGetLogger() { + final TestLogger logger = new TestLogger(); + LogManager.setLogResolver(new LogResolver() { + @Override + public ILog getLogger(Class clazz) { + return logger; + } + }); + + Assert.assertEquals(logger, LogManager.getLogger(LogManagerTest.class)); + } + + @Test + public void testGetNoopLogger(){ + ILog logger = LogManager.getLogger(LogManagerTest.class); + Assert.assertEquals(NoopLogger.INSTANCE, logger); + } + + @Before + @After + public void clear() throws IllegalAccessException { + MemberModifier.field(LogManager.class, "resolver").set(null, null); + } + + + public class TestLogger implements ILog { + + @Override public void info(String format) { + + } + + @Override public void info(String format, Object... arguments) { + + } + + @Override public void warn(String format, Object... arguments) { + + } + + @Override public void warn(String format, Object arguments, Throwable e) { + + } + + @Override public void error(String format, Throwable e) { + + } + + @Override public void error(String format, Object arguments, Throwable e) { + + } + + @Override public boolean isDebugEnable() { + return false; + } + + @Override public boolean isInfoEnable() { + return false; + } + + @Override public boolean isWarnEnable() { + return false; + } + + @Override public boolean isErrorEnable() { + return false; + } + + @Override public void debug(String format) { + + } + + @Override public void debug(String format, Object... arguments) { + + } + + @Override public void error(String format) { + + } + } +} diff --git a/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java new file mode 100644 index 000000000..7bbd3ab2f --- /dev/null +++ b/skywalking-commons/skywalking-logging/skywalking-logging-api/src/test/java/com/a/eye/skywalking/api/logging/api/NoopLoggerTest.java @@ -0,0 +1,29 @@ +package com.a.eye.skywalking.api.logging.api; + +import org.junit.Assert; +import org.junit.Test; + +import static com.a.eye.skywalking.api.logging.api.NoopLogger.INSTANCE; + +/** + * Created by wusheng on 2017/2/27. + */ +public class NoopLoggerTest { + @Test + public void testOnNothing(){ + Assert.assertFalse(INSTANCE.isDebugEnable()); + Assert.assertFalse(INSTANCE.isInfoEnable()); + Assert.assertFalse(INSTANCE.isErrorEnable()); + Assert.assertFalse(INSTANCE.isWarnEnable()); + + INSTANCE.debug("Any string"); + INSTANCE.debug("Any string", new Object[0]); + INSTANCE.info("Any string"); + INSTANCE.info("Any string", new Object[0]); + INSTANCE.warn("Any string", new Object[0]); + INSTANCE.warn("Any string", new Object[0], new NullPointerException()); + INSTANCE.error("Any string"); + INSTANCE.error("Any string", new NullPointerException()); + INSTANCE.error("Any string", new Object[0], new NullPointerException()); + } +}