From 69dade53ded714860ab8833ad7b23c29b6b584d9 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Wed, 16 Oct 2024 10:52:06 -0400 Subject: [PATCH] Add channel to the `WebsocketConsumerServerHandler.CHANNELS` before handshake In attempt to fix a race condition in the tests * Remove `log4j` deps as redundant: Spring Boot brings them anyway for logback compatibility * Add `logback-test.xml` to the `spring-websocket-consumer.test` for test race condition failures --- build.gradle | 3 --- .../main/resources/{logback-test.xml => logback.xml} | 0 .../websocket/WebsocketConsumerServerHandler.java | 2 +- .../src/test/resources/logback-test.xml | 11 +++++++++++ 4 files changed, 12 insertions(+), 4 deletions(-) rename common/spring-function-test-support/src/main/resources/{logback-test.xml => logback.xml} (100%) create mode 100644 consumer/spring-websocket-consumer/src/test/resources/logback-test.xml diff --git a/build.gradle b/build.gradle index 4298d4bd..e48bc32c 100644 --- a/build.gradle +++ b/build.gradle @@ -140,9 +140,6 @@ configure(javaProjects) { subproject -> testImplementation 'org.awaitility:awaitility' testImplementation 'org.testcontainers:junit-jupiter' - testRuntimeOnly 'org.apache.logging.log4j:log4j-core' - testRuntimeOnly 'org.apache.logging.log4j:log4j-jcl' - // NOTE: We explicitly specify checkstyle dep before javaformat checkstyle due to antlr class mismatch checkstyle("com.puppycrawl.tools:checkstyle:${checkstyle.toolVersion}") checkstyle("io.spring.javaformat:spring-javaformat-checkstyle:${javaFormatVersion}") diff --git a/common/spring-function-test-support/src/main/resources/logback-test.xml b/common/spring-function-test-support/src/main/resources/logback.xml similarity index 100% rename from common/spring-function-test-support/src/main/resources/logback-test.xml rename to common/spring-function-test-support/src/main/resources/logback.xml diff --git a/consumer/spring-websocket-consumer/src/main/java/org/springframework/cloud/fn/consumer/websocket/WebsocketConsumerServerHandler.java b/consumer/spring-websocket-consumer/src/main/java/org/springframework/cloud/fn/consumer/websocket/WebsocketConsumerServerHandler.java index 11442f00..cff6b58f 100644 --- a/consumer/spring-websocket-consumer/src/main/java/org/springframework/cloud/fn/consumer/websocket/WebsocketConsumerServerHandler.java +++ b/consumer/spring-websocket-consumer/src/main/java/org/springframework/cloud/fn/consumer/websocket/WebsocketConsumerServerHandler.java @@ -120,8 +120,8 @@ public class WebsocketConsumerServerHandler extends SimpleChannelInboundHandler< WebSocketServerHandshakerFactory.sendUnsupportedVersionResponse(ctx.channel()); } else { - this.handshaker.handshake(ctx.channel(), req); WebsocketConsumerServer.CHANNELS.add(ctx.channel()); + this.handshaker.handshake(ctx.channel(), req); } } diff --git a/consumer/spring-websocket-consumer/src/test/resources/logback-test.xml b/consumer/spring-websocket-consumer/src/test/resources/logback-test.xml new file mode 100644 index 00000000..3815c7eb --- /dev/null +++ b/consumer/spring-websocket-consumer/src/test/resources/logback-test.xml @@ -0,0 +1,11 @@ + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + \ No newline at end of file