Skip to content

Commit 1ed042e

Browse files
authored
Update all dependencies and update to JUnit 5 (#1450)
* Update all dependencies Update to JUnit 5 Adjust tests to JUnit 5 Improve Test stability * Set maven java version to 1.8
1 parent 253c3b8 commit 1ed042e

File tree

80 files changed

+2245
-2562
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2245
-2562
lines changed

.github/workflows/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: Continuous Integration
22

3-
on: [push]
3+
on: [push, pull_request]
44

55
jobs:
66
Build:
@@ -12,6 +12,8 @@ jobs:
1212
with:
1313
java-version: '17'
1414
distribution: 'temurin'
15+
- name: Maven Version
16+
run: mvn --version
1517
- name: Build
1618
run: mvn -DskipTests package --file pom.xml
1719

@@ -25,5 +27,7 @@ jobs:
2527
with:
2628
java-version: '17'
2729
distribution: 'temurin'
30+
- name: Maven Version
31+
run: mvn --version
2832
- name: Test
2933
run: mvn test --file pom.xml

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ publishing {
3535
}
3636

3737
dependencies {
38-
implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13'
39-
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.13'
40-
testImplementation group: 'junit', name: 'junit', version: '4.13.1'
38+
implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.15'
39+
testImplementation group: 'org.slf4j', name: 'slf4j-simple', version: '2.0.15'
40+
testImplementation group: 'org.junit', name: 'junit-bom', version: '5.11.4', ext: 'pom'
4141
}

pom.xml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
<description>A barebones WebSocket client and server implementation written 100% in Java</description>
1111
<url>https://github.com/TooTallNate/Java-WebSocket</url>
1212
<properties>
13+
<maven.compiler.target>1.8</maven.compiler.target>
14+
<maven.compiler.source>1.8</maven.compiler.source>
1315
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
14-
<slf4j.version>2.0.13</slf4j.version>
16+
<slf4j.version>2.0.16</slf4j.version>
1517

1618
<!-- Test dependencies versions -->
17-
<junit.version>4.13.1</junit.version>
19+
<junit.version>5.11.4</junit.version>
1820

1921
<!-- Maven plugin versions -->
2022
<bnd.maven.plugin.version>6.4.0</bnd.maven.plugin.version>
@@ -57,10 +59,11 @@
5759
<scope>test</scope>
5860
</dependency>
5961
<dependency>
60-
<groupId>junit</groupId>
61-
<artifactId>junit</artifactId>
62+
<groupId>org.junit</groupId>
63+
<artifactId>junit-bom</artifactId>
6264
<version>${junit.version}</version>
63-
<scope>test</scope>
65+
<type>pom</type>
66+
<scope>import</scope>
6467
</dependency>
6568
</dependencies>
6669
</dependencyManagement>
@@ -101,7 +104,7 @@
101104
<goal>compile</goal>
102105
</goals>
103106
<configuration>
104-
<release>7</release>
107+
<release>8</release>
105108
</configuration>
106109
</execution>
107110

@@ -288,8 +291,8 @@
288291
<scope>test</scope>
289292
</dependency>
290293
<dependency>
291-
<groupId>junit</groupId>
292-
<artifactId>junit</artifactId>
294+
<groupId>org.junit.jupiter</groupId>
295+
<artifactId>junit-jupiter</artifactId>
293296
<scope>test</scope>
294297
</dependency>
295298
</dependencies>

src/main/example/SSLServerLetsEncryptExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import javax.net.ssl.KeyManager;
4141
import javax.net.ssl.KeyManagerFactory;
4242
import javax.net.ssl.SSLContext;
43-
import javax.xml.bind.DatatypeConverter;
4443
import org.java_websocket.server.DefaultSSLWebSocketServerFactory;
4544

4645

@@ -98,7 +97,8 @@ private static byte[] parseDERFromPEM(byte[] pem, String beginDelimiter, String
9897
String data = new String(pem);
9998
String[] tokens = data.split(beginDelimiter);
10099
tokens = tokens[1].split(endDelimiter);
101-
return DatatypeConverter.parseBase64Binary(tokens[0]);
100+
// return DatatypeConverter.parseBase64Binary(tokens[0]);
101+
return null;
102102
}
103103

104104
private static RSAPrivateKey generatePrivateKeyFromDER(byte[] keyBytes)

src/main/example/simplelogger.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
org.slf4j.simpleLogger.logFile=System.out
2-
org.slf4j.simpleLogger.defaultLogLevel=trace
2+
org.slf4j.simpleLogger.defaultLogLevel=off
33
org.slf4j.simpleLogger.showDateTime=true
44
org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
55
org.slf4j.simpleLogger.showThreadName=false

src/main/java/org/java_websocket/AbstractWebSocket.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ protected void startConnectionLostTimer() {
201201
private void restartConnectionLostTimer() {
202202
cancelConnectionLostTimer();
203203
connectionLostCheckerService = Executors
204-
.newSingleThreadScheduledExecutor(new NamedThreadFactory("connectionLostChecker", daemon));
204+
.newSingleThreadScheduledExecutor(new NamedThreadFactory("WebSocketConnectionLostChecker", daemon));
205205
Runnable connectionLostChecker = new Runnable() {
206206

207207
/**

src/test/java/org/java_websocket/AllTests.java

Lines changed: 0 additions & 49 deletions
This file was deleted.

src/test/java/org/java_websocket/client/AllClientTests.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/test/java/org/java_websocket/client/AttachmentTest.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,14 @@
2525

2626
package org.java_websocket.client;
2727

28-
import static org.junit.Assert.assertEquals;
29-
import static org.junit.Assert.assertNull;
3028

3129
import java.net.URI;
3230
import java.net.URISyntaxException;
3331
import org.java_websocket.handshake.ServerHandshake;
34-
import org.junit.Test;
32+
import org.junit.jupiter.api.Test;
33+
34+
import static org.junit.jupiter.api.Assertions.assertEquals;
35+
import static org.junit.jupiter.api.Assertions.assertNull;
3536

3637
public class AttachmentTest {
3738

src/test/java/org/java_websocket/client/ConnectBlockingTest.java

Lines changed: 56 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,65 +4,75 @@
44
import java.net.*;
55
import java.util.Set;
66
import java.util.concurrent.*;
7+
78
import org.java_websocket.WebSocket;
89
import org.java_websocket.handshake.*;
910
import org.java_websocket.client.*;
1011
import org.java_websocket.server.WebSocketServer;
1112
import org.java_websocket.util.SocketUtil;
1213
import org.java_websocket.enums.ReadyState;
13-
import org.junit.Test;
14-
import static org.junit.Assert.*;
14+
import org.junit.jupiter.api.Test;
15+
import org.junit.jupiter.api.Timeout;
16+
17+
import static org.junit.jupiter.api.Assertions.*;
1518

1619
public class ConnectBlockingTest {
1720

18-
@Test(timeout = 1000)
19-
public void test_ConnectBlockingCleanup() throws Throwable {
21+
@Test
22+
@Timeout(1000)
23+
public void test_ConnectBlockingCleanup() throws Throwable {
24+
25+
Set<Thread> threadSet1 = Thread.getAllStackTraces().keySet();
26+
final CountDownLatch ready = new CountDownLatch(1);
27+
final CountDownLatch accepted = new CountDownLatch(1);
28+
29+
final int port = SocketUtil.getAvailablePort();
30+
31+
/* TCP server which listens to a port, but does not answer handshake */
32+
Thread server = new Thread(new Runnable() {
33+
@Override
34+
public void run() {
35+
try {
36+
ServerSocket serverSocket = new ServerSocket(port);
37+
serverSocket.setReuseAddress(true);
38+
ready.countDown();
39+
Socket clientSocket = serverSocket.accept();
40+
accepted.countDown();
41+
} catch (Throwable t) {
42+
assertInstanceOf(InterruptedException.class, t);
43+
}
44+
}
45+
});
46+
server.start();
47+
ready.await();
2048

21-
Set<Thread> threadSet1 = Thread.getAllStackTraces().keySet();
22-
final CountDownLatch ready = new CountDownLatch(1);
23-
final CountDownLatch accepted = new CountDownLatch(1);
49+
WebSocketClient client = new WebSocketClient(URI.create("ws://localhost:" + port)) {
50+
@Override
51+
public void onOpen(ServerHandshake handshake) {
52+
}
2453

25-
final int port = SocketUtil.getAvailablePort();
54+
@Override
55+
public void onClose(int code, String reason, boolean remote) {
56+
}
2657

27-
/* TCP server which listens to a port, but does not answer handshake */
28-
Thread server = new Thread(new Runnable() {
29-
@Override
30-
public void run() {
31-
try {
32-
ServerSocket serverSocket = new ServerSocket(port);
33-
ready.countDown();
34-
Socket clientSocket = serverSocket.accept();
35-
accepted.countDown();
36-
} catch (Throwable t) {
37-
assertTrue(t instanceof InterruptedException);
38-
}
39-
}
40-
});
41-
server.start();
42-
ready.await();
58+
@Override
59+
public void onMessage(String message) {
60+
}
4361

44-
WebSocketClient client = new WebSocketClient(URI.create("ws://localhost:" + port)) {
45-
@Override
46-
public void onOpen(ServerHandshake handshake) {
47-
}
48-
@Override
49-
public void onClose(int code, String reason, boolean remote) {}
50-
@Override
51-
public void onMessage(String message) {}
52-
@Override
53-
public void onError(Exception ex) {
54-
ex.printStackTrace();
55-
}
56-
};
57-
boolean connected = client.connectBlocking(100, TimeUnit.MILLISECONDS);
58-
assertEquals("TCP socket should have been accepted", 0, accepted.getCount());
59-
assertFalse("WebSocket should not be connected (as server didn't send handshake)", connected);
62+
@Override
63+
public void onError(Exception ex) {
64+
ex.printStackTrace();
65+
}
66+
};
67+
boolean connected = client.connectBlocking(100, TimeUnit.MILLISECONDS);
68+
assertEquals( 0, accepted.getCount(), "TCP socket should have been accepted");
69+
assertFalse(connected, "WebSocket should not be connected (as server didn't send handshake)");
6070

61-
server.interrupt();
62-
server.join();
71+
server.interrupt();
72+
server.join();
6373

64-
Set<Thread> threadSet2 = Thread.getAllStackTraces().keySet();
65-
assertEquals("no threads left over", threadSet1, threadSet2);
66-
assertTrue("WebSocket is in closed state", client.getReadyState() == ReadyState.CLOSED || client.getReadyState() == ReadyState.NOT_YET_CONNECTED);
67-
}
74+
Set<Thread> threadSet2 = Thread.getAllStackTraces().keySet();
75+
assertEquals(threadSet1, threadSet2, "no threads left over");
76+
assertTrue(client.getReadyState() == ReadyState.CLOSED || client.getReadyState() == ReadyState.NOT_YET_CONNECTED, "WebSocket is in closed state");
77+
}
6878
}

0 commit comments

Comments
 (0)