001// Generated by delombok at Fri Mar 03 17:40:07 UTC 2023 002package de.cuioss.test.juli; 003 004import static de.cuioss.test.juli.TestLoggerFactory.getTestHandler; 005import static org.junit.jupiter.api.Assertions.assertEquals; 006import static org.junit.jupiter.api.Assertions.assertNotEquals; 007import static org.junit.jupiter.api.Assertions.assertTrue; 008import java.util.logging.LogRecord; 009import de.cuioss.test.juli.junit5.EnableTestLogger; 010 011/** 012 * Provides a number of asserts against the {@link LogRecord}s gathered by {@link TestLogHandler}. 013 * Caution: In order to use the asserts the {@link TestLogHandler} must be properly configured by 014 * calling {@link TestLoggerFactory#install()} prior to usage. Usually this is done by 015 * {@link EnableTestLogger} 016 * 017 * @author Oliver Wolff 018 */ 019public final class LogAsserts { 020 private static final String ALL_LOGS = ", All recorded Logs:\n"; 021 private static final String MESSAGE_EXACTLY = " and message is exactly="; 022 private static final String MESSAGE_CONTAINS = " and message containing="; 023 private static final String AND_THROWABLE = " and throwable="; 024 private static final String NO_LOG_MESSAGE_FOUND_WITH_LEVEL = "No log message found with level="; 025 private static final String AT_LEAST_ONE_LOG_MESSAGE_FOUND_WITH_LEVEL = "At least one log message found with level="; 026 private static final String NO_SINGLE_MESSAGE_FOUND_WITH_LEVEL = "Expected one message to be found with level="; 027 028 /** 029 * Asserts whether at least one {@link LogRecord} for the given parameter is present 030 * 031 * @param logLevel to be checked, must not be null 032 * @param message to be checked, must not be null 033 */ 034 public static void assertLogMessagePresent(TestLogLevel logLevel, String message) { 035 var testHandler = getTestHandler(); 036 var messages = testHandler.resolveLogMessages(logLevel, message); 037 var assertionMessage = NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + ALL_LOGS + testHandler.getRecordsAsString(); 038 assertNotEquals(0, messages.size(), assertionMessage); 039 } 040 041 /** 042 * Asserts whether no {@link LogRecord} for the given parameter is present 043 * 044 * @param logLevel to be checked, must not be null 045 * @param messagePart to be checked, must not be null 046 */ 047 public static void assertNoLogMessagePresent(TestLogLevel logLevel, String messagePart) { 048 var testHandler = getTestHandler(); 049 var messages = testHandler.resolveLogMessagesContaining(logLevel, messagePart); 050 var assertionMessage = AT_LEAST_ONE_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + messagePart + ALL_LOGS + testHandler.getRecordsAsString(); 051 assertTrue(messages.isEmpty(), assertionMessage); 052 } 053 054 /** 055 * Asserts whether no {@link LogRecord} for the given parameter is present 056 * 057 * @param logLevel to be checked, must not be null 058 * @param logger to be checked, must not be null 059 */ 060 public static void assertNoLogMessagePresent(TestLogLevel logLevel, Class<?> logger) { 061 var testHandler = getTestHandler(); 062 var messages = testHandler.resolveLogMessagesForLogger(logLevel, logger); 063 var assertionMessage = AT_LEAST_ONE_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + ", on logger= " + logger + ALL_LOGS + testHandler.getRecordsAsString(); 064 assertEquals(0, messages.size(), assertionMessage); 065 } 066 067 /** 068 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 069 * 070 * @param logLevel to be checked, must not be null 071 * @param message to be checked, must not be null 072 */ 073 public static void assertSingleLogMessagePresent(TestLogLevel logLevel, String message) { 074 var testHandler = getTestHandler(); 075 var records = testHandler.resolveLogMessages(logLevel, message); 076 var assertionMessage = NO_SINGLE_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + ALL_LOGS + testHandler.getRecordsAsString(); 077 assertEquals(1, records.size(), assertionMessage); 078 } 079 080 /** 081 * Asserts whether at least one {@link LogRecord} for the given parameter is present 082 * 083 * @param logLevel to be checked, must not be null 084 * @param message to be checked, must not be null 085 * @param throwable to be checked, must not be null 086 */ 087 public static void assertLogMessagePresent(TestLogLevel logLevel, String message, Throwable throwable) { 088 var testHandler = getTestHandler(); 089 var messages = testHandler.resolveLogMessages(logLevel, message, throwable); 090 var assertionMessage = NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + AND_THROWABLE + throwable + ALL_LOGS + testHandler.getRecordsAsString(); 091 assertNotEquals(0, messages.size(), assertionMessage); 092 } 093 094 /** 095 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 096 * 097 * @param logLevel to be checked, must not be null 098 * @param message to be checked, must not be null 099 * @param throwable to be checked, must not be null 100 */ 101 public static void assertSingleLogMessagePresent(TestLogLevel logLevel, String message, Throwable throwable) { 102 var testHandler = getTestHandler(); 103 var records = testHandler.resolveLogMessages(logLevel, message, throwable); 104 var assertionMessage = NO_SINGLE_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + AND_THROWABLE + throwable + ALL_LOGS + testHandler.getRecordsAsString(); 105 assertEquals(1, records.size(), assertionMessage); 106 } 107 108 /** 109 * Asserts whether at least one {@link LogRecord} for the given parameter is present 110 * 111 * @param logLevel to be checked, must not be null 112 * @param message to be checked, must not be null 113 * @param throwableClass to be checked, must not be null 114 */ 115 public static void assertLogMessagePresent(TestLogLevel logLevel, String message, Class<? extends Throwable> throwableClass) { 116 var testHandler = getTestHandler(); 117 var messages = testHandler.resolveLogMessages(logLevel, message, throwableClass); 118 var assertionMessage = NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + AND_THROWABLE + throwableClass + ALL_LOGS + testHandler.getRecordsAsString(); 119 assertNotEquals(0, messages.size(), assertionMessage); 120 } 121 122 /** 123 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 124 * 125 * @param logLevel to be checked, must not be null 126 * @param message to be checked, must not be null 127 * @param throwableClass to be checked, must not be null 128 */ 129 public static void assertSingleLogMessagePresent(TestLogLevel logLevel, String message, Class<? extends Throwable> throwableClass) { 130 var testHandler = getTestHandler(); 131 var records = testHandler.resolveLogMessages(logLevel, message, throwableClass); 132 var assertionMessage = NO_SINGLE_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_EXACTLY + message + AND_THROWABLE + throwableClass + ALL_LOGS + testHandler.getRecordsAsString(); 133 assertEquals(1, records.size(), assertionMessage); 134 } 135 136 /** 137 * Asserts whether at least one {@link LogRecord} for the given parameter is present 138 * 139 * @param logLevel to be checked, must not be null 140 * @param messagePart to be checked, must not be null 141 */ 142 public static void assertLogMessagePresentContaining(TestLogLevel logLevel, String messagePart) { 143 var testHandler = getTestHandler(); 144 var messages = testHandler.resolveLogMessagesContaining(logLevel, messagePart); 145 var assertionMessage = NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + ALL_LOGS + testHandler.getRecordsAsString(); 146 assertNotEquals(0, messages.size(), assertionMessage); 147 } 148 149 /** 150 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 151 * 152 * @param logLevel to be checked, must not be null 153 * @param messagePart to be checked, must not be null 154 */ 155 public static void assertSingleLogMessagePresentContaining(TestLogLevel logLevel, String messagePart) { 156 var testHandler = getTestHandler(); 157 var records = testHandler.resolveLogMessagesContaining(logLevel, messagePart); 158 var assertionMessage = NO_SINGLE_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + ALL_LOGS + testHandler.getRecordsAsString(); 159 assertEquals(1, records.size(), assertionMessage); 160 } 161 162 /** 163 * Asserts whether at least one {@link LogRecord} for the given parameter is present 164 * 165 * @param logLevel to be checked, must not be null 166 * @param messagePart to be checked, must not be null 167 * @param throwable to be checked, must not be null 168 */ 169 public static void assertLogMessagePresentContaining(TestLogLevel logLevel, String messagePart, Throwable throwable) { 170 var testHandler = getTestHandler(); 171 var records = testHandler.resolveLogMessagesContaining(logLevel, messagePart, throwable); 172 assertNotEquals(0, records.size(), NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + AND_THROWABLE + throwable + ALL_LOGS + testHandler.getRecordsAsString()); 173 } 174 175 /** 176 * Asserts whether at least one {@link LogRecord} for the given parameter is present 177 * 178 * @param logLevel to be checked, must not be null 179 * @param messagePart to be checked, must not be null 180 * @param throwableClass to be checked, must not be null 181 */ 182 public static void assertLogMessagePresentContaining(TestLogLevel logLevel, String messagePart, Class<? extends Throwable> throwableClass) { 183 var testHandler = getTestHandler(); 184 var records = testHandler.resolveLogMessagesContaining(logLevel, messagePart, throwableClass); 185 assertNotEquals(0, records.size(), NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + AND_THROWABLE + throwableClass + ALL_LOGS + testHandler.getRecordsAsString()); 186 } 187 188 /** 189 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 190 * 191 * @param logLevel to be checked, must not be null 192 * @param messagePart to be checked, must not be null 193 * @param throwable to be checked, must not be null 194 */ 195 public static void assertSingleLogMessagePresentContaining(TestLogLevel logLevel, String messagePart, Throwable throwable) { 196 var testHandler = getTestHandler(); 197 var records = testHandler.resolveLogMessagesContaining(logLevel, messagePart, throwable); 198 assertEquals(1, records.size(), NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + AND_THROWABLE + throwable + ALL_LOGS + testHandler.getRecordsAsString()); 199 } 200 201 /** 202 * Asserts whether exactly one {@link LogRecord} for the given parameter is present 203 * 204 * @param logLevel to be checked, must not be null 205 * @param messagePart to be checked, must not be null 206 * @param throwableClass to be checked, must not be null 207 */ 208 public static void assertSingleLogMessagePresentContaining(TestLogLevel logLevel, String messagePart, Class<? extends Throwable> throwableClass) { 209 var testHandler = getTestHandler(); 210 var records = testHandler.resolveLogMessagesContaining(logLevel, messagePart, throwableClass); 211 assertEquals(1, records.size(), NO_LOG_MESSAGE_FOUND_WITH_LEVEL + logLevel + MESSAGE_CONTAINS + messagePart + AND_THROWABLE + throwableClass + ALL_LOGS + testHandler.getRecordsAsString()); 212 } 213 214 @java.lang.SuppressWarnings("all") 215 @lombok.Generated 216 private LogAsserts() { 217 throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated"); 218 } 219}