Skip to content

Commit aeab571

Browse files
Migrate tests to JUnit Jupiter (#139)
* Migrate annotations and imports * Migrate assertions * Remove public visibility for test classes and methods * Minor code cleanup * Ban JUnit4 imports
1 parent 5d916ae commit aeab571

File tree

3 files changed

+54
-56
lines changed

3 files changed

+54
-56
lines changed

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<revision>1.13</revision>
3333
<changelist>-SNAPSHOT</changelist>
3434
<gitHubRepo>jenkinsci/lib-${project.artifactId}</gitHubRepo>
35+
<ban-junit4-imports.skip>false</ban-junit4-imports.skip>
3536
</properties>
3637

3738
<dependencies>
@@ -47,8 +48,8 @@
4748
</exclusions>
4849
</dependency>
4950
<dependency>
50-
<groupId>junit</groupId>
51-
<artifactId>junit</artifactId>
51+
<groupId>org.junit.jupiter</groupId>
52+
<artifactId>junit-jupiter</artifactId>
5253
<scope>test</scope>
5354
</dependency>
5455
<dependency>

src/test/java/hudson/util/VersionNumberTest.java

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,25 @@
2323
*/
2424
package hudson.util;
2525

26-
import java.util.Arrays;
27-
import java.util.stream.Collectors;
26+
import java.util.List;
2827
import java.util.stream.Stream;
2928
import org.apache.maven.artifact.versioning.ComparableVersion;
3029
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
31-
import org.hamcrest.CoreMatchers;
32-
import static org.junit.Assert.assertEquals;
33-
import static org.junit.Assert.assertFalse;
34-
import static org.junit.Assert.assertNotEquals;
35-
import static org.junit.Assert.assertTrue;
36-
import org.junit.Ignore;
37-
import org.junit.Rule;
38-
import org.junit.Test;
39-
import org.junit.rules.ErrorCollector;
40-
import org.jvnet.hudson.test.Issue;
4130

42-
public class VersionNumberTest {
31+
import static org.junit.jupiter.api.Assertions.assertAll;
32+
import static org.junit.jupiter.api.Assertions.assertEquals;
33+
import static org.junit.jupiter.api.Assertions.assertFalse;
34+
import static org.junit.jupiter.api.Assertions.assertNotEquals;
35+
import static org.junit.jupiter.api.Assertions.assertTrue;
36+
37+
import org.junit.jupiter.api.Disabled;
38+
import org.junit.jupiter.api.Test;
39+
import org.jvnet.hudson.test.Issue;
4340

44-
@Rule
45-
public ErrorCollector errors = new ErrorCollector();
41+
class VersionNumberTest {
4642

4743
@Test
48-
public void isNewerThan() {
44+
void isNewerThan() {
4945
assertTrue(new VersionNumber("2.0.*").isNewerThan(new VersionNumber("2.0")));
5046
assertTrue(new VersionNumber("2.1-SNAPSHOT").isNewerThan(new VersionNumber("2.0.*")));
5147
assertTrue(new VersionNumber("2.1").isNewerThan(new VersionNumber("2.1-SNAPSHOT")));
@@ -62,20 +58,20 @@ public void isNewerThan() {
6258

6359
@Issue("https://gitter.im/jenkinsci/configuration-as-code-plugin?at=5b4f2fc455a7e23c014da2af")
6460
@Test
65-
public void alpha() {
61+
void alpha() {
6662
assertTrue(new VersionNumber("2.0").isNewerThan(new VersionNumber("2.0-alpha-1")));
6763
assertTrue(new VersionNumber("2.0-alpha-1").isNewerThan(new VersionNumber("2.0-alpha-1-rc9999.abc123def456")));
6864
}
69-
65+
7066
@Test
71-
public void earlyAccess() {
67+
void earlyAccess() {
7268
assertTrue(new VersionNumber("2.0.ea2").isNewerThan(new VersionNumber("2.0.ea1")));
7369
assertTrue(new VersionNumber("2.0.ea1").isNewerThan(new VersionNumber("2.0.ea")));
7470
assertEquals(new VersionNumber("2.0.ea"), new VersionNumber("2.0.ea0"));
7571
}
76-
72+
7773
@Test
78-
public void snapshots() {
74+
void snapshots() {
7975
assertTrue(new VersionNumber("1.12").isNewerThan(new VersionNumber("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)")));
8076
assertTrue(new VersionNumber("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)").isNewerThan(new VersionNumber("1.11")));
8177
assertEquals(new VersionNumber("1.12-SNAPSHOT (private-08/24/2008 12:13-hudson)"), new VersionNumber("1.12-SNAPSHOT"));
@@ -88,7 +84,7 @@ public void snapshots() {
8884
}
8985

9086
@Test
91-
public void timestamps() {
87+
void timestamps() {
9288
assertTrue(new VersionNumber("2.0.3-20170207.105042-1").isNewerThan(new VersionNumber("2.0.2")));
9389
assertTrue(new VersionNumber("2.0.3").isNewerThan(new VersionNumber("2.0.3-20170207.105042-1")));
9490
assertEquals(new VersionNumber("2.0.3-20170207.105042-1"), new VersionNumber("2.0.3-SNAPSHOT"));
@@ -101,7 +97,7 @@ public void timestamps() {
10197
}
10298

10399
@Test
104-
public void digit() {
100+
void digit() {
105101
assertEquals(32, new VersionNumber("2.32.3.1-SNAPSHOT").getDigitAt(1));
106102
assertEquals(3, new VersionNumber("2.32.3.1-SNAPSHOT").getDigitAt(2));
107103
assertEquals(1, new VersionNumber("2.32.3.1-SNAPSHOT").getDigitAt(3));
@@ -117,27 +113,28 @@ public void digit() {
117113
assertEquals(-1, new VersionNumber("").getDigitAt(0));
118114
}
119115

120-
private void assertOrderAlsoInMaven(String... versions) {
121-
errors.checkThat("Maven order is correct", Stream.of(versions).map(ComparableVersion::new).sorted().map(ComparableVersion::toString).collect(Collectors.toList()), CoreMatchers.is(Arrays.asList(versions)));
122-
errors.checkThat("Jenkins order is correct", Stream.of(versions).map(VersionNumber::new).sorted().map(VersionNumber::toString).collect(Collectors.toList()), CoreMatchers.is(Arrays.asList(versions)));
116+
private static void assertOrderAlsoInMaven(String... versions) {
117+
assertAll(
118+
() -> assertEquals(Stream.of(versions).map(ComparableVersion::new).sorted().map(ComparableVersion::toString).toList(), List.of(versions), "Maven order is correct"),
119+
() -> assertEquals(Stream.of(versions).map(VersionNumber::new).sorted().map(VersionNumber::toString).toList(), List.of(versions), "Jenkins order is correct"));
123120
}
124121

125-
@Ignore("TODO still pretty divergent: …was <[2.0.ea, 2.0.0, 2.0, 2.0.1-alpha-1, 2.0.1-SNAPSHOT, 2.0.*, 2.0.0.99, 2.0.1-alpha-1-rc9999.abc123def456, 2.0.1-rc9999.abc123def456, 2.0.1]>")
122+
@Disabled("TODO still pretty divergent: …was <[2.0.ea, 2.0.0, 2.0, 2.0.1-alpha-1, 2.0.1-SNAPSHOT, 2.0.*, 2.0.0.99, 2.0.1-alpha-1-rc9999.abc123def456, 2.0.1-rc9999.abc123def456, 2.0.1]>")
126123
@Issue("JENKINS-51594")
127124
@Test
128-
public void mavenComparison() {
125+
void mavenComparison() {
129126
assertOrderAlsoInMaven("2.0.0", "2.0", "2.0.*", "2.0.ea", "2.0.0.99", "2.0.1-alpha-1-rc9999.abc123def456", "2.0.1-alpha-1", "2.0.1-rc9999.abc123def456", "2.0.1-SNAPSHOT", "2.0.1");
130127
}
131128

132129
@Issue("https://github.com/jenkinsci/commons-lang3-api-plugin/pull/21")
133130
@Test
134-
public void libraryWrapper() {
131+
void libraryWrapper() {
135132
assertOrderAlsoInMaven("3.12.0.0", "3.12.0-44.v1234deadbeef", "3.12.0-55.v1234deadbeef", "3.12.1-66.v1234deadbeef");
136133
}
137134

138135
@Issue("JEP-229")
139136
@Test
140-
public void backportJep229() {
137+
void backportJep229() {
141138
// Maven considers 99.1.abcd1234abcd to sort before 99.1234deadbeef so we cannot simply use 99. as the branch prefix.
142139
// Nor can we use 99.1234deadbeef. as the prefix because Maven would compare 5 and 10 lexicographically.
143140
// 100._. seems to work but is not intuitive.
@@ -147,7 +144,7 @@ public void backportJep229() {
147144

148145
@Issue("https://github.com/jenkinsci/incrementals-tools/issues/29")
149146
@Test
150-
public void majorVersion() {
147+
void majorVersion() {
151148
assertOrderAlsoInMaven("1.1", "391.ve4a_38c1b_cf4b_");
152149
// Weird but TBD if this matters in practice:
153150
assertEquals(0, new DefaultArtifactVersion("391.ve4a_38c1b_cf4b_").getMajorVersion());
@@ -157,7 +154,7 @@ public void majorVersion() {
157154
}
158155

159156
@Test
160-
public void testOrEqualTo() {
157+
void testOrEqualTo() {
161158
assertTrue(new VersionNumber("1.8").isNewerThanOrEqualTo(new VersionNumber("1.8")));
162159
assertTrue(new VersionNumber("1.9").isNewerThanOrEqualTo(new VersionNumber("1.8")));
163160
assertTrue(new VersionNumber("2").isNewerThanOrEqualTo(new VersionNumber("1.8")));

src/test/java/io/jenkins/lib/versionnumber/JavaSpecificationVersionTest.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,22 @@
2323
*/
2424
package io.jenkins.lib.versionnumber;
2525

26-
import static org.junit.Assert.assertEquals;
27-
import static org.junit.Assert.assertNotNull;
28-
import static org.junit.Assert.assertThrows;
29-
import static org.junit.Assert.assertTrue;
26+
import static org.junit.jupiter.api.Assertions.assertEquals;
27+
import static org.junit.jupiter.api.Assertions.assertNotNull;
28+
import static org.junit.jupiter.api.Assertions.assertThrows;
29+
import static org.junit.jupiter.api.Assertions.assertTrue;
3030

31-
import org.junit.Test;
31+
import org.junit.jupiter.api.Test;
3232
import org.jvnet.hudson.test.For;
3333

3434
/**
3535
* Tests for {@link JavaSpecificationVersion}.
3636
*/
3737
@For(JavaSpecificationVersion.class)
38-
public class JavaSpecificationVersionTest {
38+
class JavaSpecificationVersionTest {
3939

4040
@Test
41-
public void shouldParseValidNumbersCorrectly() {
41+
void shouldParseValidNumbersCorrectly() {
4242
assertSpecEquals(JavaSpecificationVersion.JAVA_6, "1.6");
4343
assertSpecEquals(JavaSpecificationVersion.JAVA_7, "1.7");
4444
assertSpecEquals(JavaSpecificationVersion.JAVA_8, "1.8");
@@ -48,22 +48,22 @@ public void shouldParseValidNumbersCorrectly() {
4848
}
4949

5050
@Test
51-
public void shouldParseOldSpecCorrectly() {
51+
void shouldParseOldSpecCorrectly() {
5252
assertSpecEquals(JavaSpecificationVersion.JAVA_9, "1.9");
5353
assertSpecEquals(JavaSpecificationVersion.JAVA_10, "1.10");
5454
assertSpecEquals(JavaSpecificationVersion.JAVA_11, "1.11");
5555
assertSpecEquals(JavaSpecificationVersion.JAVA_12, "1.12");
5656
}
5757

5858
@Test
59-
public void shouldResolveIncorrectSpecs() {
59+
void shouldResolveIncorrectSpecs() {
6060
assertSpecEquals(JavaSpecificationVersion.JAVA_8, "8");
6161
assertSpecEquals(JavaSpecificationVersion.JAVA_7, "7");
6262
assertSpecEquals(JavaSpecificationVersion.JAVA_5, "5");
6363
}
6464

6565
@Test
66-
public void shouldCompareVersionsProperly() {
66+
void shouldCompareVersionsProperly() {
6767
assertTrue(JavaSpecificationVersion.JAVA_5.isOlderThan(JavaSpecificationVersion.JAVA_6));
6868
assertTrue(JavaSpecificationVersion.JAVA_6.isOlderThan(JavaSpecificationVersion.JAVA_7));
6969
assertTrue(JavaSpecificationVersion.JAVA_7.isOlderThan(JavaSpecificationVersion.JAVA_8));
@@ -75,18 +75,18 @@ public void shouldCompareVersionsProperly() {
7575
}
7676

7777
@Test
78-
public void shouldRetrieveSpecVersionForTheCurrentJVM() {
78+
void shouldRetrieveSpecVersionForTheCurrentJVM() {
7979
assertNotNull(JavaSpecificationVersion.forCurrentJVM());
8080
}
8181

8282
@Test
83-
public void invalidVersions() {
83+
void invalidVersions() {
8484
assertThrows(NumberFormatException.class, () -> new JavaSpecificationVersion("1.1.1"));
8585
assertThrows(NumberFormatException.class, () -> new JavaSpecificationVersion("fubar"));
8686
}
8787

8888
@Test
89-
public void releaseVersion() {
89+
void releaseVersion() {
9090
assertEquals(new JavaSpecificationVersion("1.8"), JavaSpecificationVersion.fromReleaseVersion(8));
9191
assertEquals(new JavaSpecificationVersion("11"), JavaSpecificationVersion.fromReleaseVersion(11));
9292
assertEquals(new JavaSpecificationVersion("17"), JavaSpecificationVersion.fromReleaseVersion(17));
@@ -97,7 +97,7 @@ public void releaseVersion() {
9797
}
9898

9999
@Test
100-
public void classVersion() {
100+
void classVersion() {
101101
assertEquals(new JavaSpecificationVersion("1.8"), JavaSpecificationVersion.fromClassVersion(52));
102102
assertEquals(new JavaSpecificationVersion("11"), JavaSpecificationVersion.fromClassVersion(55));
103103
assertEquals(new JavaSpecificationVersion("17"), JavaSpecificationVersion.fromClassVersion(61));
@@ -111,18 +111,18 @@ public void classVersion() {
111111
assertEquals("Unknown class version for release version: 1000", e.getMessage());
112112
}
113113

114-
public void assertSpecEquals(JavaSpecificationVersion version, String value) {
114+
private static void assertSpecEquals(JavaSpecificationVersion version, String value) {
115115
JavaSpecificationVersion actualSpec = new JavaSpecificationVersion(value);
116-
assertEquals("Wrong Java version", version, actualSpec);
116+
assertEquals(version, actualSpec, "Wrong Java version");
117117
}
118118

119-
public void assertOlder(JavaSpecificationVersion version1, JavaSpecificationVersion version2) {
120-
assertTrue(String.format("Version %s should be older than %s", version1, version2),
121-
version1.isOlderThan(version2));
119+
private static void assertOlder(JavaSpecificationVersion version1, JavaSpecificationVersion version2) {
120+
assertTrue(version1.isOlderThan(version2),
121+
String.format("Version %s should be older than %s", version1, version2));
122122
}
123123

124-
public void assertNewer(JavaSpecificationVersion version1, JavaSpecificationVersion version2) {
125-
assertTrue(String.format("Version %s should be newer than %s", version1, version2),
126-
version1.isNewerThan(version2));
124+
private static void assertNewer(JavaSpecificationVersion version1, JavaSpecificationVersion version2) {
125+
assertTrue(version1.isNewerThan(version2),
126+
String.format("Version %s should be newer than %s", version1, version2));
127127
}
128128
}

0 commit comments

Comments
 (0)