Add tests, add docu, use subpackage.
This commit is contained in:
parent
333f3302ec
commit
c4b1d1d2f6
10 changed files with 345 additions and 110 deletions
25
src/test/java/io/kokuwa/micronaut/logging/AbstractTest.java
Normal file
25
src/test/java/io/kokuwa/micronaut/logging/AbstractTest.java
Normal file
|
@ -0,0 +1,25 @@
|
|||
package io.kokuwa.micronaut.logging;
|
||||
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.MethodOrderer.Alphanumeric;
|
||||
import org.junit.jupiter.api.TestMethodOrder;
|
||||
import org.slf4j.MDC;
|
||||
|
||||
import io.micronaut.test.annotation.MicronautTest;
|
||||
|
||||
/**
|
||||
* Base for tests regarding logging.
|
||||
*
|
||||
* @author Stephan Schnabel
|
||||
*/
|
||||
@MicronautTest
|
||||
@TestMethodOrder(Alphanumeric.class)
|
||||
public abstract class AbstractTest {
|
||||
|
||||
@BeforeEach
|
||||
@AfterEach
|
||||
void setUpMdc() {
|
||||
MDC.clear();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
package io.kokuwa.micronaut.logging.mdc;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import org.junit.jupiter.api.DisplayName;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.MDC;
|
||||
|
||||
import io.kokuwa.micronaut.logging.AbstractTest;
|
||||
import io.micronaut.test.annotation.MicronautTest;
|
||||
|
||||
/**
|
||||
* Test for {@link MDCTurboFilterConfigurer}.
|
||||
*
|
||||
* @author Stephan Schnabel
|
||||
*/
|
||||
@DisplayName("mdc")
|
||||
@MicronautTest(environments = "test-mdc")
|
||||
public class MDCTurboFilterTest extends AbstractTest {
|
||||
|
||||
final Logger logA = LoggerFactory.getLogger("io.kokuwa.a");
|
||||
final Logger logB = LoggerFactory.getLogger("io.kokuwa.b");
|
||||
final Logger logC = LoggerFactory.getLogger("io.kokuwa.c");
|
||||
final Logger logOther = LoggerFactory.getLogger("org.example");
|
||||
|
||||
@DisplayName("no key set")
|
||||
@Test
|
||||
void noKeySet() {
|
||||
assertFalse(logA.isDebugEnabled());
|
||||
assertFalse(logA.isTraceEnabled());
|
||||
assertFalse(logB.isDebugEnabled());
|
||||
assertFalse(logB.isTraceEnabled());
|
||||
assertFalse(logC.isDebugEnabled());
|
||||
assertFalse(logC.isTraceEnabled());
|
||||
assertFalse(logOther.isDebugEnabled());
|
||||
assertFalse(logOther.isTraceEnabled());
|
||||
}
|
||||
|
||||
@DisplayName("match nothing")
|
||||
@Test
|
||||
void matchNothing() {
|
||||
MDC.put("key", "value-4");
|
||||
assertFalse(logA.isDebugEnabled());
|
||||
assertFalse(logA.isTraceEnabled());
|
||||
assertFalse(logB.isDebugEnabled());
|
||||
assertFalse(logB.isTraceEnabled());
|
||||
assertFalse(logC.isDebugEnabled());
|
||||
assertFalse(logC.isTraceEnabled());
|
||||
assertFalse(logOther.isDebugEnabled());
|
||||
assertFalse(logOther.isTraceEnabled());
|
||||
}
|
||||
|
||||
@DisplayName("match root logger")
|
||||
@Test
|
||||
void matchRootLogger() {
|
||||
MDC.put("key", "value-3");
|
||||
assertTrue(logA.isDebugEnabled());
|
||||
assertTrue(logA.isTraceEnabled());
|
||||
assertTrue(logB.isDebugEnabled());
|
||||
assertTrue(logB.isTraceEnabled());
|
||||
assertTrue(logC.isDebugEnabled());
|
||||
assertTrue(logC.isTraceEnabled());
|
||||
assertFalse(logOther.isDebugEnabled());
|
||||
assertFalse(logOther.isTraceEnabled());
|
||||
}
|
||||
|
||||
@DisplayName("match single filter")
|
||||
@Test
|
||||
void matchSingleFilter() {
|
||||
MDC.put("key", "value-1");
|
||||
assertTrue(logA.isDebugEnabled());
|
||||
assertFalse(logA.isTraceEnabled());
|
||||
assertTrue(logB.isDebugEnabled());
|
||||
assertFalse(logB.isTraceEnabled());
|
||||
assertFalse(logC.isDebugEnabled());
|
||||
assertFalse(logC.isTraceEnabled());
|
||||
assertFalse(logOther.isDebugEnabled());
|
||||
assertFalse(logOther.isTraceEnabled());
|
||||
}
|
||||
|
||||
@DisplayName("match multiple filter")
|
||||
@Test
|
||||
void matchMultipleFilter() {
|
||||
MDC.put("key", "value-2");
|
||||
assertTrue(logA.isDebugEnabled());
|
||||
assertFalse(logA.isTraceEnabled());
|
||||
assertTrue(logB.isDebugEnabled());
|
||||
assertTrue(logB.isTraceEnabled());
|
||||
assertTrue(logC.isDebugEnabled());
|
||||
assertTrue(logC.isTraceEnabled());
|
||||
assertFalse(logOther.isDebugEnabled());
|
||||
assertFalse(logOther.isTraceEnabled());
|
||||
}
|
||||
|
||||
@DisplayName("match simple config")
|
||||
@Test
|
||||
void matchSimpleConfig() {
|
||||
MDC.put("user", "foobar");
|
||||
assertTrue(logA.isDebugEnabled());
|
||||
assertTrue(logA.isTraceEnabled());
|
||||
assertTrue(logB.isDebugEnabled());
|
||||
assertTrue(logB.isTraceEnabled());
|
||||
assertTrue(logC.isDebugEnabled());
|
||||
assertTrue(logC.isTraceEnabled());
|
||||
assertTrue(logOther.isDebugEnabled());
|
||||
assertTrue(logOther.isTraceEnabled());
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue