From 94f6b132fdcd2a1d1073b0e3be23cde7a7780c14 Mon Sep 17 00:00:00 2001 From: Jeremy Norris Date: Sat, 7 Jan 2023 17:53:23 -0600 Subject: [PATCH] Misc cleanup of LoggerTest. --- src/test/java/com/jcraft/jsch/LoggerTest.java | 90 ++++++++++--------- 1 file changed, 47 insertions(+), 43 deletions(-) diff --git a/src/test/java/com/jcraft/jsch/LoggerTest.java b/src/test/java/com/jcraft/jsch/LoggerTest.java index c90166c3..fa73ed97 100644 --- a/src/test/java/com/jcraft/jsch/LoggerTest.java +++ b/src/test/java/com/jcraft/jsch/LoggerTest.java @@ -1,56 +1,60 @@ package com.jcraft.jsch; import static org.junit.jupiter.api.Assertions.assertEquals; + import java.io.PrintWriter; import java.io.StringWriter; -import java.util.LinkedList; -import java.util.stream.Collectors; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; import org.junit.jupiter.api.Test; -class LoggerTest { - +public class LoggerTest { + + private final Exception testException = new Exception("dummy exception"); + @Test - void testLogWithCause() { - LinkedList messages = new LinkedList<>(); + public void testLogging() { + List actualMessages = new ArrayList<>(); boolean[] enabledResult = new boolean[1]; - Logger logger = new Logger() { - @Override - public void log(int level, String message) { - messages.add(level + ":" + message); - } - @Override - public boolean isEnabled(int level) { - return enabledResult[0]; - } - }; - - Exception ex = new Exception("dummy exception"); + Logger logger = + new Logger() { + @Override + public void log(int level, String message) { + if (isEnabled(level)) { + actualMessages.add(level + ":" + message); + } + } + + @Override + public boolean isEnabled(int level) { + return enabledResult[0]; + } + }; + + actualMessages.clear(); + enabledResult[0] = false; + logger.log(Logger.ERROR, "debug message"); + logger.log(Logger.ERROR, "debug message with null cause", null); + logger.log(Logger.ERROR, "debug message with cause", testException); + assertEquals(Collections.emptyList(), actualMessages, "mismatch in logged messages"); + StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - ex.printStackTrace(pw); - String expectedTrace = sw.toString(); - - logger.log(Logger.ERROR, "some message", null); - logger.log(Logger.ERROR, "some message with trace", ex); - assertEquals("", getMessageLines(messages), "message mismatch"); - - enabledResult[0] = true; - logger.log(Logger.ERROR, "some message", null); - logger.log(Logger.ERROR, "some message with trace", ex); - assertEquals( - Logger.ERROR + ":some message\r\n" + - Logger.ERROR + ":some message with trace" + System.lineSeparator() + - expectedTrace + - "", getMessageLines(messages), "message mismatch"); - } - - static String getMessageLines(LinkedList messages) { - try { - return messages.stream() - .collect(Collectors.joining("\r\n")); - } - finally { - messages.clear(); + try (PrintWriter pw = new PrintWriter(sw, true)) { + testException.printStackTrace(pw); } + List expectedMessages = + Arrays.asList( + Logger.ERROR + ":debug message", + Logger.ERROR + ":debug message with null cause", + Logger.ERROR + ":debug message with cause" + System.lineSeparator() + sw); + + actualMessages.clear(); + enabledResult[0] = true; + logger.log(Logger.ERROR, "debug message"); + logger.log(Logger.ERROR, "debug message with null cause", null); + logger.log(Logger.ERROR, "debug message with cause", testException); + assertEquals(expectedMessages, actualMessages, "mismatch in logged messages"); } }