Skip to content

Commit

Permalink
test: Expand logger storage tests
Browse files Browse the repository at this point in the history
  • Loading branch information
hkupty committed Jan 3, 2024
1 parent 7c85cbc commit 019f803
Showing 1 changed file with 58 additions and 0 deletions.
58 changes: 58 additions & 0 deletions penna-core/src/test/java/penna/core/logger/LoggerStorageTests.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
package penna.core.logger;

import org.junit.jupiter.api.Test;
import org.slf4j.event.Level;
import penna.api.config.Config;

import java.util.List;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertSame;
Expand All @@ -23,4 +27,58 @@ public void calling_getOrCreate_twice_does_not_create_duplicates() {

assertSame(logger1, logger2);
}


@Test
public void update_the_whole_tree_affects_leaf_objects() {
var cache = new LoggerStorage();
var defaults = Config.getDefault();
var logger1 = cache.getOrCreate("com.for.testing");
var logger2 = cache.getOrCreate("com.for.testing.other");

assertEquals(defaults.level(), logger1.levelGuard.level());
assertEquals(defaults.level(), logger2.levelGuard.level());

cache.replaceConfig(Config.withFields(Level.DEBUG));

assertEquals(Level.DEBUG, cache.getOrCreate("com.for.testing").levelGuard.level());
assertEquals(Level.DEBUG, cache.getOrCreate("com.for.testing.other").levelGuard.level());
}

@Test
public void update_prefix_doesnt_change_all_only_descendants() {
var cache = new LoggerStorage();
var defaults = Config.getDefault();
var logger1 = cache.getOrCreate("com.for.testing");
var logger2 = cache.getOrCreate("com.for.testing.other");
var logger3 = cache.getOrCreate("com.for.unrelated");

assertEquals(defaults.level(), logger1.levelGuard.level());
assertEquals(defaults.level(), logger2.levelGuard.level());
assertEquals(defaults.level(), logger3.levelGuard.level());

cache.replaceConfig("com.for.testing", Config.withFields(Level.DEBUG));

assertEquals(Level.DEBUG, logger2.levelGuard.level());
assertEquals(Level.DEBUG, logger1.levelGuard.level());
assertEquals(defaults.level(), logger3.levelGuard.level());
cache.replaceConfig("com.for.unrelated", Config.withFields(Level.WARN));

assertEquals(Level.DEBUG, logger2.levelGuard.level());
assertEquals(Level.DEBUG, logger1.levelGuard.level());
assertEquals(Level.WARN, logger3.levelGuard.level());
}


@Test
public void we_always_get_the_right_logger() {
var cache = new LoggerStorage();
var loggers = List.of(
"com.AAA.AAA", "com.AAA.AAA", "com.AAA.AAA", "io.aaa.zzz.AAA", "io.aaa.zzz"
);

for (var logger : loggers) {
assertEquals(cache.getOrCreate(logger).name, logger);
}
}
}

0 comments on commit 019f803

Please sign in to comment.