Search in sources :

Example 6 with LoggingListener

use of org.elasticsearch.test.junit.listeners.LoggingListener in project crate by crate.

the class LoggingListenerTests method testCustomLevelPerClass.

public void testCustomLevelPerClass() throws Exception {
    LoggingListener loggingListener = new LoggingListener();
    Description suiteDescription = Description.createSuiteDescription(AnnotatedTestClass.class);
    Logger abcLogger = LogManager.getLogger("abc");
    Logger xyzLogger = LogManager.getLogger("xyz");
    // we include foo and foo.bar to maintain that logging levels are applied from the top of the hierarchy down; this ensures that
    // setting the logging level for a parent logger and a child logger applies the parent level first and then the child as otherwise
    // setting the parent level would overwrite the child level
    Logger fooLogger = LogManager.getLogger("foo");
    Logger fooBarLogger = LogManager.getLogger("foo.bar");
    final Level level = LogManager.getRootLogger().getLevel();
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    assertThat(fooLogger.getLevel(), equalTo(level));
    assertThat(fooBarLogger.getLevel(), equalTo(level));
    loggingListener.testRunStarted(suiteDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    Description testDescription = Description.createTestDescription(LoggingListenerTests.class, "test");
    loggingListener.testStarted(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    loggingListener.testFinished(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    loggingListener.testRunFinished(new Result());
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    assertThat(fooLogger.getLevel(), equalTo(level));
    assertThat(fooBarLogger.getLevel(), equalTo(level));
}
Also used : Description(org.junit.runner.Description) LoggingListener(org.elasticsearch.test.junit.listeners.LoggingListener) Level(org.apache.logging.log4j.Level) Logger(org.apache.logging.log4j.Logger) Result(org.junit.runner.Result)

Example 7 with LoggingListener

use of org.elasticsearch.test.junit.listeners.LoggingListener in project elasticsearch by elastic.

the class LoggingListenerTests method testCustomLevelPerMethod.

public void testCustomLevelPerMethod() throws Exception {
    LoggingListener loggingListener = new LoggingListener();
    Description suiteDescription = Description.createSuiteDescription(TestClass.class);
    Logger xyzLogger = Loggers.getLogger("xyz");
    Logger abcLogger = Loggers.getLogger("abc");
    final Level level = ESLoggerFactory.getRootLogger().getLevel();
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    loggingListener.testRunStarted(suiteDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    Method method = TestClass.class.getMethod("annotatedTestMethod");
    TestLogging annotation = method.getAnnotation(TestLogging.class);
    Description testDescription = Description.createTestDescription(LoggingListenerTests.class, "annotatedTestMethod", annotation);
    loggingListener.testStarted(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(Level.TRACE));
    assertThat(abcLogger.getLevel(), equalTo(level));
    loggingListener.testFinished(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    loggingListener.testRunFinished(new Result());
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
}
Also used : Description(org.junit.runner.Description) TestLogging(org.elasticsearch.test.junit.annotations.TestLogging) LoggingListener(org.elasticsearch.test.junit.listeners.LoggingListener) Level(org.apache.logging.log4j.Level) Method(java.lang.reflect.Method) Logger(org.apache.logging.log4j.Logger) Result(org.junit.runner.Result)

Example 8 with LoggingListener

use of org.elasticsearch.test.junit.listeners.LoggingListener in project elasticsearch by elastic.

the class LoggingListenerTests method testCustomLevelPerClassAndPerMethod.

public void testCustomLevelPerClassAndPerMethod() throws Exception {
    LoggingListener loggingListener = new LoggingListener();
    Description suiteDescription = Description.createSuiteDescription(AnnotatedTestClass.class);
    Logger abcLogger = Loggers.getLogger("abc");
    Logger xyzLogger = Loggers.getLogger("xyz");
    final Level level = ESLoggerFactory.getRootLogger().getLevel();
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    loggingListener.testRunStarted(suiteDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    Method method = TestClass.class.getMethod("annotatedTestMethod");
    TestLogging annotation = method.getAnnotation(TestLogging.class);
    Description testDescription = Description.createTestDescription(LoggingListenerTests.class, "annotatedTestMethod", annotation);
    loggingListener.testStarted(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(Level.TRACE));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    loggingListener.testFinished(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    Method method2 = TestClass.class.getMethod("annotatedTestMethod2");
    TestLogging annotation2 = method2.getAnnotation(TestLogging.class);
    Description testDescription2 = Description.createTestDescription(LoggingListenerTests.class, "annotatedTestMethod2", annotation2);
    loggingListener.testStarted(testDescription2);
    assertThat(xyzLogger.getLevel(), equalTo(Level.DEBUG));
    assertThat(abcLogger.getLevel(), equalTo(Level.TRACE));
    loggingListener.testFinished(testDescription2);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    loggingListener.testRunFinished(new Result());
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
}
Also used : Description(org.junit.runner.Description) TestLogging(org.elasticsearch.test.junit.annotations.TestLogging) LoggingListener(org.elasticsearch.test.junit.listeners.LoggingListener) Level(org.apache.logging.log4j.Level) Method(java.lang.reflect.Method) Logger(org.apache.logging.log4j.Logger) Result(org.junit.runner.Result)

Example 9 with LoggingListener

use of org.elasticsearch.test.junit.listeners.LoggingListener in project elasticsearch by elastic.

the class LoggingListenerTests method testInvalidClassTestLoggingAnnotation.

public void testInvalidClassTestLoggingAnnotation() throws Exception {
    final LoggingListener loggingListener = new LoggingListener();
    final Description suiteDescription = Description.createSuiteDescription(InvalidClass.class);
    final IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> loggingListener.testRunStarted(suiteDescription));
    assertThat(e.getMessage(), equalTo("invalid test logging annotation [abc]"));
}
Also used : Description(org.junit.runner.Description) LoggingListener(org.elasticsearch.test.junit.listeners.LoggingListener)

Example 10 with LoggingListener

use of org.elasticsearch.test.junit.listeners.LoggingListener in project elasticsearch by elastic.

the class LoggingListenerTests method testCustomLevelPerClass.

public void testCustomLevelPerClass() throws Exception {
    LoggingListener loggingListener = new LoggingListener();
    Description suiteDescription = Description.createSuiteDescription(AnnotatedTestClass.class);
    Logger abcLogger = Loggers.getLogger("abc");
    Logger xyzLogger = Loggers.getLogger("xyz");
    // we include foo and foo.bar to maintain that logging levels are applied from the top of the hierarchy down; this ensures that
    // setting the logging level for a parent logger and a child logger applies the parent level first and then the child as otherwise
    // setting the parent level would overwrite the child level
    Logger fooLogger = Loggers.getLogger("foo");
    Logger fooBarLogger = Loggers.getLogger("foo.bar");
    final Level level = ESLoggerFactory.getRootLogger().getLevel();
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    assertThat(fooLogger.getLevel(), equalTo(level));
    assertThat(fooBarLogger.getLevel(), equalTo(level));
    loggingListener.testRunStarted(suiteDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    Description testDescription = Description.createTestDescription(LoggingListenerTests.class, "test");
    loggingListener.testStarted(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    loggingListener.testFinished(testDescription);
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooLogger.getLevel(), equalTo(Level.WARN));
    assertThat(fooBarLogger.getLevel(), equalTo(Level.ERROR));
    loggingListener.testRunFinished(new Result());
    assertThat(xyzLogger.getLevel(), equalTo(level));
    assertThat(abcLogger.getLevel(), equalTo(level));
    assertThat(fooLogger.getLevel(), equalTo(level));
    assertThat(fooBarLogger.getLevel(), equalTo(level));
}
Also used : Description(org.junit.runner.Description) LoggingListener(org.elasticsearch.test.junit.listeners.LoggingListener) Level(org.apache.logging.log4j.Level) Logger(org.apache.logging.log4j.Logger) Result(org.junit.runner.Result)

Aggregations

LoggingListener (org.elasticsearch.test.junit.listeners.LoggingListener)12 Description (org.junit.runner.Description)12 Method (java.lang.reflect.Method)6 Level (org.apache.logging.log4j.Level)6 Logger (org.apache.logging.log4j.Logger)6 TestLogging (org.elasticsearch.test.junit.annotations.TestLogging)6 Result (org.junit.runner.Result)6