1616 */
1717package org .apache .logging .log4j .core .appender ;
1818
19+ import static java .util .concurrent .TimeUnit .MILLISECONDS ;
20+ import static org .awaitility .Awaitility .await ;
1921import static org .junit .jupiter .api .Assertions .assertEquals ;
2022import static org .junit .jupiter .api .Assertions .assertNotNull ;
2123import static org .junit .jupiter .api .Assertions .assertTrue ;
@@ -49,7 +51,7 @@ abstract class SyslogAppenderTestBase {
4951 "TestApp - Audit [Transfer@18060 Amount=\" 200.00\" FromAccount=\" 123457\" ToAccount=\" 123456\" ]"
5052 + "[RequestContext@18060 ipAddress=\" 192.168.0.120\" loginId=\" JohnDoe\" ] Transfer Complete" ;
5153 protected LoggerContext ctx = LoggerContext .getContext ();
52- protected static final int DEFAULT_TIMEOUT_IN_MS = 100 ;
54+ protected static final int DEFAULT_TIMEOUT_IN_MS = 3000 ;
5355 protected MockSyslogServer syslogServer ;
5456 protected SyslogAppender appender ;
5557 protected Logger root = ctx .getLogger ("SyslogAppenderTest" );
@@ -61,15 +63,15 @@ public static void setupClass() {
6163 LoggerContext .getContext ().reconfigure ();
6264 }
6365
64- protected void sendAndCheckLegacyBsdMessages (final List <String > messagesToSend ) throws InterruptedException {
66+ protected void sendAndCheckLegacyBsdMessages (final List <String > messagesToSend ) {
6567 for (final String message : messagesToSend ) {
6668 sendDebugLegacyBsdMessage (message );
6769 }
6870 checkTheNumberOfSentAndReceivedMessages ();
6971 checkTheEqualityOfSentAndReceivedMessages (Level .DEBUG );
7072 }
7173
72- protected void sendAndCheckLegacyBsdMessage (final String message ) throws InterruptedException {
74+ protected void sendAndCheckLegacyBsdMessage (final String message ) {
7375 sendDebugLegacyBsdMessage (message );
7476 checkTheNumberOfSentAndReceivedMessages ();
7577 checkTheEqualityOfSentAndReceivedMessages (Level .DEBUG );
@@ -80,15 +82,15 @@ protected void sendDebugLegacyBsdMessage(final String message) {
8082 root .debug (message );
8183 }
8284
83- protected void sendAndCheckStructuredMessages (final int numberOfMessages ) throws InterruptedException {
85+ protected void sendAndCheckStructuredMessages (final int numberOfMessages ) {
8486 for (int i = 0 ; i < numberOfMessages ; i ++) {
8587 sendInfoStructuredMessage ();
8688 }
8789 checkTheNumberOfSentAndReceivedMessages ();
8890 checkTheEqualityOfSentAndReceivedMessages (Level .INFO );
8991 }
9092
91- protected void sendAndCheckStructuredMessage () throws InterruptedException {
93+ protected void sendAndCheckStructuredMessage () {
9294 sendInfoStructuredMessage ();
9395 checkTheNumberOfSentAndReceivedMessages ();
9496 checkTheEqualityOfSentAndReceivedMessages (Level .INFO );
@@ -108,15 +110,13 @@ protected void sendInfoStructuredMessage() {
108110 root .info (MarkerManager .getMarker ("EVENT" ), msg );
109111 }
110112
111- protected void checkTheNumberOfSentAndReceivedMessages () throws InterruptedException {
112- assertEquals (
113- sentMessages .size (),
114- getReceivedMessages (DEFAULT_TIMEOUT_IN_MS ).size (),
115- "The number of received messages should be equal with the number of sent messages" );
113+ protected void checkTheNumberOfSentAndReceivedMessages () {
114+ await ().atMost (DEFAULT_TIMEOUT_IN_MS , MILLISECONDS )
115+ .until (() -> syslogServer .getMessageList ().size () == sentMessages .size ());
116116 }
117117
118- protected void checkTheEqualityOfSentAndReceivedMessages (final Level expectedLevel ) throws InterruptedException {
119- final List <String > receivedMessages = getReceivedMessages (DEFAULT_TIMEOUT_IN_MS );
118+ protected void checkTheEqualityOfSentAndReceivedMessages (final Level expectedLevel ) {
119+ final List <String > receivedMessages = getReceivedMessages ();
120120
121121 assertNotNull (receivedMessages , "No messages received" );
122122 for (int i = 0 ; i < receivedMessages .size (); i ++) {
@@ -148,10 +148,7 @@ protected void initRootLogger(final Appender appender) {
148148 root .setLevel (Level .DEBUG );
149149 }
150150
151- protected List <String > getReceivedMessages (final int timeOutInMs ) throws InterruptedException {
152- synchronized (syslogServer ) {
153- syslogServer .wait (timeOutInMs );
154- }
151+ protected List <String > getReceivedMessages () {
155152 return syslogServer .getMessageList ();
156153 }
157154
0 commit comments