Skip to content

Commit 8564961

Browse files
committed
Switch to JUnit 5
1 parent 53e34fc commit 8564961

File tree

10 files changed

+182
-175
lines changed

10 files changed

+182
-175
lines changed

build.gradle

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,26 @@ signing {
125125
sign publishing.publications.mavenJava
126126
}
127127

128+
test {
129+
useJUnitPlatform()
130+
131+
maxHeapSize = "256m"
132+
}
133+
128134
dependencies {
129135
implementation "org.slf4j:slf4j-api:latest.release"
130136

131137
implementation "com.jcraft:jsch:latest.release"
132138
runtimeOnly "com.jcraft:jzlib:latest.release"
133139

134-
testImplementation "junit:junit:latest.release"
140+
testImplementation 'org.junit.jupiter:junit-jupiter-api:latest.release'
141+
testImplementation 'org.junit.jupiter:junit-jupiter-params:latest.release'
142+
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:latest.release'
143+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
144+
135145
testImplementation 'org.assertj:assertj-core:latest.release'
136146
testImplementation "org.mockito:mockito-core:latest.release"
147+
testImplementation "org.mockito:mockito-junit-jupiter:latest.release"
137148

138149
testImplementation "org.apache.sshd:sshd-core:latest.release"
139150
testRuntimeOnly "org.bouncycastle:bcprov-jdk15on:latest.release"

gradle.lockfile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,32 @@ ch.qos.logback:logback-classic:1.5.15=testRuntimeClasspath
55
ch.qos.logback:logback-core:1.5.15=testRuntimeClasspath
66
com.jcraft:jsch:0.1.55=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
77
com.jcraft:jzlib:1.1.3=runtimeClasspath,testRuntimeClasspath
8-
junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath
98
net.bytebuddy:byte-buddy-agent:1.15.4=testCompileClasspath,testRuntimeClasspath
109
net.bytebuddy:byte-buddy:1.15.11=testCompileClasspath,testRuntimeClasspath
1110
org.apache.sshd:sshd-common:2.14.0=testCompileClasspath,testRuntimeClasspath
1211
org.apache.sshd:sshd-core:2.14.0=testCompileClasspath,testRuntimeClasspath
12+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
1313
org.assertj:assertj-core:3.27.0=testCompileClasspath,testRuntimeClasspath
1414
org.bouncycastle:bcprov-jdk15on:1.70=testRuntimeClasspath
15-
org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath
1615
org.jacoco:org.jacoco.agent:0.8.12=jacocoAgent,jacocoAnt
1716
org.jacoco:org.jacoco.ant:0.8.12=jacocoAnt
1817
org.jacoco:org.jacoco.core:0.8.12=jacocoAnt
1918
org.jacoco:org.jacoco.report:0.8.12=jacocoAnt
19+
org.junit.jupiter:junit-jupiter-api:5.11.4=testCompileClasspath,testRuntimeClasspath
20+
org.junit.jupiter:junit-jupiter-engine:5.11.4=testRuntimeClasspath
21+
org.junit.jupiter:junit-jupiter-params:5.11.4=testCompileClasspath,testRuntimeClasspath
22+
org.junit.platform:junit-platform-commons:1.11.4=testCompileClasspath,testRuntimeClasspath
23+
org.junit.platform:junit-platform-engine:1.11.4=testRuntimeClasspath
24+
org.junit.platform:junit-platform-launcher:1.11.4=testRuntimeClasspath
25+
org.junit:junit-bom:5.11.4=testCompileClasspath,testRuntimeClasspath
2026
org.mockito:mockito-core:5.14.2=testCompileClasspath,testRuntimeClasspath
27+
org.mockito:mockito-junit-jupiter:5.14.2=testCompileClasspath,testRuntimeClasspath
2128
org.objenesis:objenesis:3.3=testRuntimeClasspath
29+
org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath
2230
org.ow2.asm:asm-commons:9.7=jacocoAnt
2331
org.ow2.asm:asm-tree:9.7=jacocoAnt
2432
org.ow2.asm:asm:9.7=jacocoAnt
2533
org.slf4j:jcl-over-slf4j:1.7.36=testCompileClasspath
2634
org.slf4j:jcl-over-slf4j:2.0.16=testRuntimeClasspath
2735
org.slf4j:slf4j-api:2.0.16=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
28-
empty=annotationProcessor,signatures,testAnnotationProcessor
36+
empty=annotationProcessor,testAnnotationProcessor
Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,45 @@
11
package de.cronn.proxy.ssh;
22

3-
import static org.junit.Assert.*;
3+
import static org.assertj.core.api.Assertions.*;
44

5-
import org.junit.Test;
5+
import org.junit.jupiter.api.Test;
66

77
import com.jcraft.jsch.HostKey;
88

9-
public class HostKeyTypeTest {
9+
class HostKeyTypeTest {
1010

1111
@Test
12-
public void testGetType() throws Exception {
13-
assertEquals(HostKey.SSHRSA, HostKeyType.SSH_RSA.getType());
14-
assertEquals(HostKey.SSHDSS, HostKeyType.SSH_DSS.getType());
12+
void testGetType() {
13+
assertThat(HostKeyType.SSH_RSA.getType()).isEqualTo(HostKey.SSHRSA);
14+
assertThat(HostKeyType.SSH_DSS.getType()).isEqualTo(HostKey.SSHDSS);
1515

1616
for (HostKeyType hostKeyType : HostKeyType.values()) {
17-
assertTrue(hostKeyType.getType() > 0);
17+
assertThat(hostKeyType.getType()).isPositive();
1818
}
1919
}
2020

2121
@Test
22-
public void testGetTypeString() throws Exception {
23-
assertEquals("ssh-rsa", HostKeyType.SSH_RSA.getTypeString());
24-
assertEquals("ssh-dss", HostKeyType.SSH_DSS.getTypeString());
22+
void testGetTypeString() {
23+
assertThat(HostKeyType.SSH_RSA.getTypeString()).isEqualTo("ssh-rsa");
24+
assertThat(HostKeyType.SSH_DSS.getTypeString()).isEqualTo("ssh-dss");
2525

2626
for (HostKeyType hostKeyType : HostKeyType.values()) {
27-
assertNotNull(hostKeyType.getTypeString());
27+
assertThat(hostKeyType.getTypeString()).isNotNull();
2828
}
2929
}
3030

3131
@Test
32-
public void testByTypeString() throws Exception {
33-
assertEquals(HostKeyType.SSH_RSA, HostKeyType.byTypeString("ssh-rsa"));
34-
assertEquals(HostKeyType.SSH_DSS, HostKeyType.byTypeString("ssh-dss"));
35-
36-
try {
37-
HostKeyType.byTypeString(null);
38-
fail("IllegalArgumentException expected");
39-
} catch (IllegalArgumentException e) {
40-
assertEquals("No hostKeyType found for null", e.getMessage());
41-
}
32+
void testByTypeString() {
33+
assertThat(HostKeyType.byTypeString("ssh-rsa")).isEqualTo(HostKeyType.SSH_RSA);
34+
assertThat(HostKeyType.byTypeString("ssh-dss")).isEqualTo(HostKeyType.SSH_DSS);
4235

43-
try {
44-
HostKeyType.byTypeString("ssh-does-not-exist");
45-
fail("IllegalArgumentException expected");
46-
} catch (IllegalArgumentException e) {
47-
assertEquals("No hostKeyType found for ssh-does-not-exist", e.getMessage());
48-
}
36+
assertThatExceptionOfType(IllegalArgumentException.class)
37+
.isThrownBy(() -> HostKeyType.byTypeString(null))
38+
.withMessage("No hostKeyType found for null");
39+
40+
assertThatExceptionOfType(IllegalArgumentException.class)
41+
.isThrownBy(() -> HostKeyType.byTypeString("ssh-does-not-exist"))
42+
.withMessage("No hostKeyType found for ssh-does-not-exist");
4943
}
5044

51-
}
45+
}
Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
11
package de.cronn.proxy.ssh;
22

3-
import static org.junit.Assert.*;
3+
import static org.assertj.core.api.Assertions.*;
44

5-
import java.util.Arrays;
65
import java.util.List;
76

8-
import org.junit.Test;
7+
import org.junit.jupiter.api.Test;
98

10-
public class JSchHelperTest {
9+
class JSchHelperTest {
1110

1211
@Test
13-
public void testHostKeysPreferEcdsa() throws Exception {
12+
void testHostKeysPreferEcdsa() throws Exception {
1413
JSchHelper.reconfigureServerHostKeyOrder(JSchHelper.ServerHostKeySortOrder.PREFER_ECDSA);
15-
List<HostKeyType> expectedHostKeys = Arrays.asList(//
14+
List<HostKeyType> expectedHostKeys = List.of(//
1615
HostKeyType.ECDSA256, //
1716
HostKeyType.ECDSA384, //
1817
HostKeyType.ECDSA521, //
1918
HostKeyType.SSH_RSA, //
2019
HostKeyType.SSH_DSS //
2120
);
22-
assertEquals(expectedHostKeys, JSchHelper.getServerHostKeys());
21+
assertThat(JSchHelper.getServerHostKeys()).isEqualTo(expectedHostKeys);
2322
}
2423

2524
@Test
26-
public void testHostKeysPreferRsa() throws Exception {
25+
void testHostKeysPreferRsa() throws Exception {
2726
JSchHelper.reconfigureServerHostKeyOrder(JSchHelper.ServerHostKeySortOrder.PREFER_RSA);
28-
List<HostKeyType> expectedHostKeys = Arrays.asList(//
27+
List<HostKeyType> expectedHostKeys = List.of(//
2928
HostKeyType.SSH_RSA, //
3029
HostKeyType.ECDSA256, //
3130
HostKeyType.ECDSA384, //
3231
HostKeyType.ECDSA521, //
3332
HostKeyType.SSH_DSS //
3433
);
35-
assertEquals(expectedHostKeys, JSchHelper.getServerHostKeys());
34+
assertThat(expectedHostKeys).isEqualTo(JSchHelper.getServerHostKeys());
3635
}
3736

38-
}
37+
}
Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,31 @@
11
package de.cronn.proxy.ssh;
22

3-
import static org.junit.Assert.*;
43

5-
import org.junit.Test;
4+
import static org.assertj.core.api.Assertions.*;
5+
6+
import org.junit.jupiter.api.Test;
67

78
import com.jcraft.jsch.Logger;
89

9-
public class JSchSlf4JLoggerTest {
10+
class JSchSlf4JLoggerTest {
1011

1112
@Test
12-
public void testIsEnabled() throws Exception {
13+
void testIsEnabled() {
1314
JSchSlf4JLogger logger = new JSchSlf4JLogger();
1415

15-
assertFalse(logger.isEnabled(Logger.DEBUG));
16-
assertFalse(logger.isEnabled(Logger.INFO));
17-
assertTrue(logger.isEnabled(Logger.WARN));
18-
assertTrue(logger.isEnabled(Logger.ERROR));
19-
assertTrue(logger.isEnabled(Logger.FATAL));
20-
21-
try {
22-
logger.isEnabled(100);
23-
fail("IllegalArgumentException expected");
24-
} catch (IllegalArgumentException e) {
25-
assertEquals("Unknown log level: 100", e.getMessage());
26-
}
16+
assertThat(logger.isEnabled(Logger.DEBUG)).isFalse();
17+
assertThat(logger.isEnabled(Logger.INFO)).isFalse();
18+
assertThat(logger.isEnabled(Logger.WARN)).isTrue();
19+
assertThat(logger.isEnabled(Logger.ERROR)).isTrue();
20+
assertThat(logger.isEnabled(Logger.FATAL)).isTrue();
21+
22+
assertThatExceptionOfType(IllegalArgumentException.class)
23+
.isThrownBy(() -> logger.isEnabled(100))
24+
.withMessage("Unknown log level: 100");
2725
}
2826

2927
@Test
30-
public void testLog() throws Exception {
28+
void testLog() {
3129
JSchSlf4JLogger logger = new JSchSlf4JLogger();
3230

3331
logger.log(Logger.DEBUG, "some debug message");
@@ -36,13 +34,9 @@ public void testLog() throws Exception {
3634
logger.log(Logger.ERROR, "some error message");
3735
logger.log(Logger.FATAL, "some fatal message");
3836

39-
try {
40-
logger.log(100, "some message");
41-
fail("IllegalArgumentException expected");
42-
} catch (IllegalArgumentException e) {
43-
assertEquals("Unknown log level: 100", e.getMessage());
44-
}
45-
37+
assertThatExceptionOfType(IllegalArgumentException.class)
38+
.isThrownBy(() -> logger.log(100, "some message"))
39+
.withMessage("Unknown log level: 100");
4640
}
4741

48-
}
42+
}

src/test/java/de/cronn/proxy/ssh/ProxyAwareHostnameVerifierTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
import javax.net.ssl.HostnameVerifier;
77
import javax.net.ssl.SSLSession;
88

9-
import org.junit.Test;
10-
import org.junit.runner.RunWith;
9+
import org.junit.jupiter.api.Test;
10+
import org.junit.jupiter.api.extension.ExtendWith;
1111
import org.mockito.Mock;
12-
import org.mockito.junit.MockitoJUnitRunner;
12+
import org.mockito.junit.jupiter.MockitoExtension;
1313

14-
@RunWith(MockitoJUnitRunner.class)
15-
public class ProxyAwareHostnameVerifierTest {
14+
@ExtendWith(MockitoExtension.class)
15+
class ProxyAwareHostnameVerifierTest {
1616

1717
@Mock
1818
private HostnameVerifier hostnameVerifier;
@@ -21,7 +21,7 @@ public class ProxyAwareHostnameVerifierTest {
2121
private SSLSession session;
2222

2323
@Test
24-
public void shouldInvokeVerifierWithOriginalHost() throws Exception {
24+
void shouldInvokeVerifierWithOriginalHost() throws Exception {
2525
String originalHost = "originalHost";
2626

2727
ProxyAwareHostnameVerifier sut = new ProxyAwareHostnameVerifier(hostnameVerifier, originalHost);
Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
11
package de.cronn.proxy.ssh;
22

3-
import static org.junit.Assert.*;
3+
import static org.assertj.core.api.Assertions.*;
44
import static org.mockito.Mockito.*;
55

6-
import org.junit.Test;
7-
import org.junit.runner.RunWith;
6+
import org.junit.jupiter.api.Test;
7+
import org.junit.jupiter.api.extension.ExtendWith;
88
import org.mockito.Mock;
9-
import org.mockito.junit.MockitoJUnitRunner;
9+
import org.mockito.junit.jupiter.MockitoExtension;
1010

1111
import com.jcraft.jsch.ConfigRepository.Config;
1212

13-
@RunWith(MockitoJUnitRunner.class)
14-
public class SshProxyConfigTest {
13+
@ExtendWith(MockitoExtension.class)
14+
class SshProxyConfigTest {
1515

1616
@Mock
1717
private Config hostConfig;
1818

1919
@Test
20-
public void testParseProxyCommand_EmptyHostConfig() throws Exception {
20+
void testParseProxyCommand_EmptyHostConfig() throws Exception {
2121
SshProxyConfig sshProxyConfig = SshProxyConfig.parseProxyCommand("ssh -q -W %h:%p jumphost", "tunnel-host", hostConfig);
22-
assertEquals("tunnel-host", sshProxyConfig.getForwardingHost());
23-
assertEquals("jumphost", sshProxyConfig.getJumpHost());
24-
assertEquals(22, sshProxyConfig.getForwardingPort());
22+
assertThat(sshProxyConfig.getForwardingHost()).isEqualTo("tunnel-host");
23+
assertThat(sshProxyConfig.getJumpHost()).isEqualTo("jumphost");
24+
assertThat(sshProxyConfig.getForwardingPort()).isEqualTo(22);
2525
}
2626

2727
@Test
28-
public void testParseProxyCommand_FullHostConfig() throws Exception {
28+
void testParseProxyCommand_FullHostConfig() throws Exception {
2929
when(hostConfig.getHostname()).thenReturn("some-host");
3030
when(hostConfig.getPort()).thenReturn(1234);
3131

3232
SshProxyConfig sshProxyConfig = SshProxyConfig.parseProxyCommand("ssh -q -W %h:%p jumphost", "tunnel-host", hostConfig);
33-
assertEquals("some-host", sshProxyConfig.getForwardingHost());
34-
assertEquals("jumphost", sshProxyConfig.getJumpHost());
35-
assertEquals(1234, sshProxyConfig.getForwardingPort());
33+
assertThat(sshProxyConfig.getForwardingHost()).isEqualTo("some-host");
34+
assertThat(sshProxyConfig.getJumpHost()).isEqualTo("jumphost");
35+
assertThat(sshProxyConfig.getForwardingPort()).isEqualTo(1234);
3636
}
3737

3838
@Test
39-
public void testParseProxyCommand_ConcreteHosts() throws Exception {
39+
void testParseProxyCommand_ConcreteHosts() throws Exception {
4040
SshProxyConfig sshProxyConfig = SshProxyConfig.parseProxyCommand("ssh -q -W forwarding-host.123:5432 jumphost", "tunnel-host", hostConfig);
41-
assertEquals("forwarding-host.123", sshProxyConfig.getForwardingHost());
42-
assertEquals("jumphost", sshProxyConfig.getJumpHost());
43-
assertEquals(5432, sshProxyConfig.getForwardingPort());
41+
assertThat(sshProxyConfig.getForwardingHost()).isEqualTo("forwarding-host.123");
42+
assertThat(sshProxyConfig.getJumpHost()).isEqualTo("jumphost");
43+
assertThat(sshProxyConfig.getForwardingPort()).isEqualTo(5432);
4444
}
4545

4646
@Test
47-
public void testParseProxyJump_EmptyHostConfig() throws Exception {
47+
void testParseProxyJump_EmptyHostConfig() throws Exception {
4848
SshProxyConfig sshProxyConfig = SshProxyConfig.parseProxyJump("jumphost", "tunnel-host", hostConfig);
49-
assertEquals("tunnel-host", sshProxyConfig.getForwardingHost());
50-
assertEquals("jumphost", sshProxyConfig.getJumpHost());
51-
assertEquals(22, sshProxyConfig.getForwardingPort());
49+
assertThat(sshProxyConfig.getForwardingHost()).isEqualTo("tunnel-host");
50+
assertThat(sshProxyConfig.getJumpHost()).isEqualTo("jumphost");
51+
assertThat(sshProxyConfig.getForwardingPort()).isEqualTo(22);
5252
}
5353

5454
@Test
55-
public void testParseProxyJump_FullHostConfig() throws Exception {
55+
void testParseProxyJump_FullHostConfig() throws Exception {
5656
when(hostConfig.getHostname()).thenReturn("some-host");
5757
when(hostConfig.getPort()).thenReturn(1234);
5858

5959
SshProxyConfig sshProxyConfig = SshProxyConfig.parseProxyJump("jumphost", "tunnel-host", hostConfig);
60-
assertEquals("some-host", sshProxyConfig.getForwardingHost());
61-
assertEquals("jumphost", sshProxyConfig.getJumpHost());
62-
assertEquals(1234, sshProxyConfig.getForwardingPort());
60+
assertThat(sshProxyConfig.getForwardingHost()).isEqualTo("some-host");
61+
assertThat(sshProxyConfig.getJumpHost()).isEqualTo("jumphost");
62+
assertThat(sshProxyConfig.getForwardingPort()).isEqualTo(1234);
6363
}
6464

65-
}
65+
}

0 commit comments

Comments
 (0)