Skip to content

Commit 302473f

Browse files
authored
Fix flakyness in LoggingTransferListenerTest where LogCaptor captures logs from other parrallely running test cases (#5948)
* Fix flakyness in LoggingTransferListenerTest where LogCaptor captures logs from other parrallely running test cases * minor name space update
1 parent db40d81 commit 302473f

File tree

1 file changed

+46
-36
lines changed

1 file changed

+46
-36
lines changed

services-custom/s3-transfer-manager/src/test/java/software/amazon/awssdk/transfer/s3/progress/LoggingTransferListenerTest.java

+46-36
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import static org.mockito.Mockito.mock;
2020

2121
import java.util.List;
22+
import java.util.stream.Collectors;
2223
import org.apache.logging.log4j.Level;
2324
import org.apache.logging.log4j.core.LogEvent;
2425
import org.junit.jupiter.api.BeforeEach;
@@ -31,7 +32,7 @@
3132
import software.amazon.awssdk.transfer.s3.internal.progress.DefaultTransferProgressSnapshot;
3233
import software.amazon.awssdk.transfer.s3.internal.progress.TransferListenerContext;
3334

34-
public class LoggingTransferListenerTest {
35+
class LoggingTransferListenerTest {
3536

3637
private static final long TRANSFER_SIZE_IN_BYTES = 1024L;
3738

@@ -54,52 +55,61 @@ public void setUp() throws Exception {
5455
}
5556

5657
@Test
57-
public void test_defaultListener_successfulTransfer() {
58+
void test_defaultListener_successfulTransfer() {
5859
try (LogCaptor logCaptor = LogCaptor.create()) {
5960
invokeSuccessfulLifecycle();
6061
List<LogEvent> events = logCaptor.loggedEvents();
61-
assertLogged(events, Level.INFO, "Transfer initiated...");
62-
assertLogged(events, Level.INFO, "| | 0.0%");
63-
assertLogged(events, Level.INFO, "|= | 5.0%");
64-
assertLogged(events, Level.INFO, "|== | 10.0%");
65-
assertLogged(events, Level.INFO, "|=== | 15.0%");
66-
assertLogged(events, Level.INFO, "|==== | 20.0%");
67-
assertLogged(events, Level.INFO, "|===== | 25.0%");
68-
assertLogged(events, Level.INFO, "|====== | 30.0%");
69-
assertLogged(events, Level.INFO, "|======= | 35.0%");
70-
assertLogged(events, Level.INFO, "|======== | 40.0%");
71-
assertLogged(events, Level.INFO, "|========= | 45.0%");
72-
assertLogged(events, Level.INFO, "|========== | 50.0%");
73-
assertLogged(events, Level.INFO, "|=========== | 55.0%");
74-
assertLogged(events, Level.INFO, "|============ | 60.0%");
75-
assertLogged(events, Level.INFO, "|============= | 65.0%");
76-
assertLogged(events, Level.INFO, "|============== | 70.0%");
77-
assertLogged(events, Level.INFO, "|=============== | 75.0%");
78-
assertLogged(events, Level.INFO, "|================ | 80.0%");
79-
assertLogged(events, Level.INFO, "|================= | 85.0%");
80-
assertLogged(events, Level.INFO, "|================== | 90.0%");
81-
assertLogged(events, Level.INFO, "|=================== | 95.0%");
82-
assertLogged(events, Level.INFO, "|====================| 100.0%");
83-
assertLogged(events, Level.INFO, "Transfer complete!");
84-
assertThat(events).isEmpty();
62+
String loggerName = LoggingTransferListener.class.getName();
63+
List<LogEvent> filteredEvents = events.stream()
64+
.filter(e -> e.getLoggerName().equals(loggerName))
65+
.collect(Collectors.toList());
66+
assertLogged(filteredEvents, Level.INFO, "Transfer initiated...");
67+
assertLogged(filteredEvents, Level.INFO, "| | 0.0%");
68+
assertLogged(filteredEvents, Level.INFO, "|= | 5.0%");
69+
assertLogged(filteredEvents, Level.INFO, "|== | 10.0%");
70+
assertLogged(filteredEvents, Level.INFO, "|=== | 15.0%");
71+
assertLogged(filteredEvents, Level.INFO, "|==== | 20.0%");
72+
assertLogged(filteredEvents, Level.INFO, "|===== | 25.0%");
73+
assertLogged(filteredEvents, Level.INFO, "|====== | 30.0%");
74+
assertLogged(filteredEvents, Level.INFO, "|======= | 35.0%");
75+
assertLogged(filteredEvents, Level.INFO, "|======== | 40.0%");
76+
assertLogged(filteredEvents, Level.INFO, "|========= | 45.0%");
77+
assertLogged(filteredEvents, Level.INFO, "|========== | 50.0%");
78+
assertLogged(filteredEvents, Level.INFO, "|=========== | 55.0%");
79+
assertLogged(filteredEvents, Level.INFO, "|============ | 60.0%");
80+
assertLogged(filteredEvents, Level.INFO, "|============= | 65.0%");
81+
assertLogged(filteredEvents, Level.INFO, "|============== | 70.0%");
82+
assertLogged(filteredEvents, Level.INFO, "|=============== | 75.0%");
83+
assertLogged(filteredEvents, Level.INFO, "|================ | 80.0%");
84+
assertLogged(filteredEvents, Level.INFO, "|================= | 85.0%");
85+
assertLogged(filteredEvents, Level.INFO, "|================== | 90.0%");
86+
assertLogged(filteredEvents, Level.INFO, "|=================== | 95.0%");
87+
assertLogged(filteredEvents, Level.INFO, "|====================| 100.0%");
88+
assertLogged(filteredEvents, Level.INFO, "Transfer complete!");
89+
assertThat(filteredEvents).isEmpty();
8590
}
8691
}
8792

8893
@Test
89-
public void test_customTicksListener_successfulTransfer() {
94+
void test_customTicksListener_successfulTransfer() {
9095
try (LogCaptor logCaptor = LogCaptor.create()) {
9196
listener = LoggingTransferListener.create(5);
9297
invokeSuccessfulLifecycle();
9398
List<LogEvent> events = logCaptor.loggedEvents();
94-
assertLogged(events, Level.INFO, "Transfer initiated...");
95-
assertLogged(events, Level.INFO, "| | 0.0%");
96-
assertLogged(events, Level.INFO, "|= | 20.0%");
97-
assertLogged(events, Level.INFO, "|== | 40.0%");
98-
assertLogged(events, Level.INFO, "|=== | 60.0%");
99-
assertLogged(events, Level.INFO, "|==== | 80.0%");
100-
assertLogged(events, Level.INFO, "|=====| 100.0%");
101-
assertLogged(events, Level.INFO, "Transfer complete!");
102-
assertThat(events).isEmpty();
99+
String loggerName = LoggingTransferListener.class.getName();
100+
List<LogEvent> filteredEvents = events.stream()
101+
.filter(e -> e.getLoggerName().equals(loggerName))
102+
.collect(Collectors.toList());
103+
104+
assertLogged(filteredEvents, Level.INFO, "Transfer initiated...");
105+
assertLogged(filteredEvents, Level.INFO, "| | 0.0%");
106+
assertLogged(filteredEvents, Level.INFO, "|= | 20.0%");
107+
assertLogged(filteredEvents, Level.INFO, "|== | 40.0%");
108+
assertLogged(filteredEvents, Level.INFO, "|=== | 60.0%");
109+
assertLogged(filteredEvents, Level.INFO, "|==== | 80.0%");
110+
assertLogged(filteredEvents, Level.INFO, "|=====| 100.0%");
111+
assertLogged(filteredEvents, Level.INFO, "Transfer complete!");
112+
assertThat(filteredEvents).isEmpty();
103113
}
104114
}
105115

0 commit comments

Comments
 (0)