Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,16 @@
import org.apache.logging.log4j.util.Strings;
import org.junit.jupiter.api.BeforeAll;

import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static org.awaitility.Awaitility.await;

@UsingStatusListener
abstract class SyslogAppenderTestBase {
protected static final String line1 =
"TestApp - Audit [Transfer@18060 Amount=\"200.00\" FromAccount=\"123457\" ToAccount=\"123456\"]"
+ "[RequestContext@18060 ipAddress=\"192.168.0.120\" loginId=\"JohnDoe\"] Transfer Complete";
protected LoggerContext ctx = LoggerContext.getContext();
protected static final int DEFAULT_TIMEOUT_IN_MS = 100;
protected static final int DEFAULT_TIMEOUT_IN_MS = 500;
protected MockSyslogServer syslogServer;
protected SyslogAppender appender;
protected Logger root = ctx.getLogger("SyslogAppenderTest");
Expand All @@ -61,15 +64,15 @@ public static void setupClass() {
LoggerContext.getContext().reconfigure();
}

protected void sendAndCheckLegacyBsdMessages(final List<String> messagesToSend) throws InterruptedException {
protected void sendAndCheckLegacyBsdMessages(final List<String> messagesToSend) {
for (final String message : messagesToSend) {
sendDebugLegacyBsdMessage(message);
}
checkTheNumberOfSentAndReceivedMessages();
checkTheEqualityOfSentAndReceivedMessages(Level.DEBUG);
}

protected void sendAndCheckLegacyBsdMessage(final String message) throws InterruptedException {
protected void sendAndCheckLegacyBsdMessage(final String message) {
sendDebugLegacyBsdMessage(message);
checkTheNumberOfSentAndReceivedMessages();
checkTheEqualityOfSentAndReceivedMessages(Level.DEBUG);
Expand All @@ -80,15 +83,15 @@ protected void sendDebugLegacyBsdMessage(final String message) {
root.debug(message);
}

protected void sendAndCheckStructuredMessages(final int numberOfMessages) throws InterruptedException {
protected void sendAndCheckStructuredMessages(final int numberOfMessages) {
for (int i = 0; i < numberOfMessages; i++) {
sendInfoStructuredMessage();
}
checkTheNumberOfSentAndReceivedMessages();
checkTheEqualityOfSentAndReceivedMessages(Level.INFO);
}

protected void sendAndCheckStructuredMessage() throws InterruptedException {
protected void sendAndCheckStructuredMessage() {
sendInfoStructuredMessage();
checkTheNumberOfSentAndReceivedMessages();
checkTheEqualityOfSentAndReceivedMessages(Level.INFO);
Expand All @@ -108,15 +111,13 @@ protected void sendInfoStructuredMessage() {
root.info(MarkerManager.getMarker("EVENT"), msg);
}

protected void checkTheNumberOfSentAndReceivedMessages() throws InterruptedException {
assertEquals(
sentMessages.size(),
getReceivedMessages(DEFAULT_TIMEOUT_IN_MS).size(),
"The number of received messages should be equal with the number of sent messages");
protected void checkTheNumberOfSentAndReceivedMessages() {
await().atMost(DEFAULT_TIMEOUT_IN_MS, MILLISECONDS)
.until(() -> syslogServer.getMessageList().size() == sentMessages.size());
}

protected void checkTheEqualityOfSentAndReceivedMessages(final Level expectedLevel) throws InterruptedException {
final List<String> receivedMessages = getReceivedMessages(DEFAULT_TIMEOUT_IN_MS);
protected void checkTheEqualityOfSentAndReceivedMessages(final Level expectedLevel) {
final List<String> receivedMessages = getReceivedMessages();

assertNotNull(receivedMessages, "No messages received");
for (int i = 0; i < receivedMessages.size(); i++) {
Expand Down Expand Up @@ -148,10 +149,7 @@ protected void initRootLogger(final Appender appender) {
root.setLevel(Level.DEBUG);
}

protected List<String> getReceivedMessages(final int timeOutInMs) throws InterruptedException {
synchronized (syslogServer) {
syslogServer.wait(timeOutInMs);
}
protected List<String> getReceivedMessages() {
return syslogServer.getMessageList();
}

Expand Down