From c7bde82c7911d9bbf8459c481759fcaaf50b7e48 Mon Sep 17 00:00:00 2001 From: Richard North Date: Tue, 22 Jul 2025 11:53:56 +0100 Subject: [PATCH] Make 'default' timezone deterministic in ConverterTest Also add `@Test` annotation to `testLineLocalPortConverter` method, which looks like it was accidentally omitted. Signed-off-by: Richard North --- .../common/blackbox/pattern/ConverterTest.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/logback-access-common-blackbox/src/test/java/ch/qos/logback/access/common/blackbox/pattern/ConverterTest.java b/logback-access-common-blackbox/src/test/java/ch/qos/logback/access/common/blackbox/pattern/ConverterTest.java index e7fe179..3ce5abe 100644 --- a/logback-access-common-blackbox/src/test/java/ch/qos/logback/access/common/blackbox/pattern/ConverterTest.java +++ b/logback-access-common-blackbox/src/test/java/ch/qos/logback/access/common/blackbox/pattern/ConverterTest.java @@ -44,6 +44,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Locale; +import java.util.TimeZone; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; @@ -79,8 +80,20 @@ public void testContentLengthConverter() { } @Test - public void testDateConverter() { - dateConverterChecker(parseDateAsMillis("2024-08-14T15:29:25.956Z"), List.of(), "14/.../2024:17:29:25 \\+\\d*"); + public void testDateConverterWithDefaultTimezone() { + TimeZone originalTimeZone = TimeZone.getDefault(); + try { + // Set a known timezone for deterministic testing + TimeZone.setDefault(TimeZone.getTimeZone("Europe/Berlin")); + dateConverterChecker(parseDateAsMillis("2024-08-14T15:29:25.956Z"), List.of(), "14/.../2024:17:29:25 \\+\\d*"); + } finally { + // Restore original timezone + TimeZone.setDefault(originalTimeZone); + } + } + + @Test + public void testDateConverterWithExplicitTimezone() { dateConverterChecker(parseDateAsMillis("2022-10-21T10:30:20.800Z"), List.of(CoreConstants.CLF_DATE_PATTERN, "Australia/Sydney", "en-AU"), "21/Oct/2022:21:30:20 \\+1100"); dateConverterChecker(parseDateAsMillis("2022-09-21T10:30:20.800Z"), List.of(CoreConstants.CLF_DATE_PATTERN, "UTC", "en"), @@ -111,6 +124,7 @@ void dateConverterChecker(long millis, List options, String regex) { assertTrue(result.matches(regex)); } + @Test public void testLineLocalPortConverter() { LocalPortConverter converter = new LocalPortConverter(); converter.start();