Skip to content

Commit fea5a73

Browse files
Migrate tests to JUnit5 (fixes)
* Fix JUnit5 dependencies * Fix mockito dependencies * Fix assertions * Revert lucene-based tests not compatible with Junit5
1 parent 2463f9c commit fea5a73

File tree

9 files changed

+117
-50
lines changed

9 files changed

+117
-50
lines changed

archetype/src/main/resources/archetype-resources/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,23 @@
3737
<version>${slf4j.version}</version>
3838
<scope>provided</scope>
3939
</dependency>
40+
<dependency>
41+
<groupId>org.junit.jupiter</groupId>
42+
<artifactId>junit-jupiter-api</artifactId>
43+
<version>5.12.2</version>
44+
<scope>test</scope>
45+
</dependency>
4046
<dependency>
4147
<groupId>org.junit.jupiter</groupId>
4248
<artifactId>junit-jupiter-engine</artifactId>
4349
<version>5.12.2</version>
4450
<scope>test</scope>
4551
</dependency>
52+
<dependency>
53+
<groupId>org.junit.jupiter</groupId>
54+
<artifactId>junit-jupiter-params</artifactId>
55+
<version>5.12.2</version>
56+
<scope>test</scope>
57+
</dependency>
4658
</dependencies>
4759
</project>

core/src/test/java/org/owasp/dependencycheck/data/lucene/AlphaNumericFilterTest.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,29 @@
1717
*/
1818
package org.owasp.dependencycheck.data.lucene;
1919

20+
import java.io.IOException;
2021
import org.apache.lucene.analysis.Analyzer;
21-
import org.apache.lucene.analysis.Tokenizer;
22-
import org.apache.lucene.analysis.core.KeywordTokenizer;
2322
import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
23+
import static org.apache.lucene.tests.analysis.BaseTokenStreamTestCase.checkOneTerm;
24+
import static org.apache.lucene.tests.analysis.BaseTokenStreamTestCase.checkRandomData;
2425
import org.apache.lucene.tests.analysis.MockTokenizer;
25-
import org.junit.jupiter.api.BeforeEach;
26-
import org.junit.jupiter.api.Test;
27-
28-
import java.io.IOException;
29-
30-
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
26+
import org.apache.lucene.analysis.Tokenizer;
27+
import org.apache.lucene.analysis.core.KeywordTokenizer;
28+
import static org.apache.lucene.tests.util.LuceneTestCase.RANDOM_MULTIPLIER;
29+
import static org.apache.lucene.tests.util.LuceneTestCase.random;
30+
import org.junit.Test;
31+
import static org.junit.Assert.*;
32+
import org.junit.Before;
3133

3234
/**
3335
*
3436
* @author Jeremy Long
3537
*/
36-
class AlphaNumericFilterTest extends BaseTokenStreamTestCase {
38+
public class AlphaNumericFilterTest extends BaseTokenStreamTestCase {
3739

3840
private Analyzer analyzer;
3941

40-
@BeforeEach
42+
@Before
4143
@Override
4244
public void setUp() throws Exception {
4345
super.setUp();
@@ -56,7 +58,7 @@ protected Analyzer.TokenStreamComponents createComponents(String fieldName) {
5658
* @throws Exception thrown if there is a problem
5759
*/
5860
@Test
59-
void testIncrementToken() throws Exception {
61+
public void testIncrementToken() throws Exception {
6062
String[] expected = new String[6];
6163
expected[0] = "http";
6264
expected[1] = "www";
@@ -73,7 +75,7 @@ void testIncrementToken() throws Exception {
7375
* @throws Exception thrown if there is a problem
7476
*/
7577
@Test
76-
void testGarbage() throws Exception {
78+
public void testGarbage() throws Exception {
7779
String[] expected = new String[2];
7880
expected[0] = "test";
7981
expected[1] = "two";
@@ -86,8 +88,12 @@ void testGarbage() throws Exception {
8688
* blast some random strings through the analyzer
8789
*/
8890
@Test
89-
void testRandomStrings() {
90-
assertDoesNotThrow(() -> checkRandomData(random(), analyzer, 1000 * RANDOM_MULTIPLIER), "Failed test random strings: ");
91+
public void testRandomStrings() {
92+
try {
93+
checkRandomData(random(), analyzer, 1000 * RANDOM_MULTIPLIER);
94+
} catch (IOException ex) {
95+
fail("Failed test random strings: " + ex.getMessage());
96+
}
9197
}
9298

9399
/**
@@ -97,7 +103,7 @@ void testRandomStrings() {
97103
* @throws IOException
98104
*/
99105
@Test
100-
void testEmptyTerm() throws IOException {
106+
public void testEmptyTerm() throws IOException {
101107
Analyzer a = new Analyzer() {
102108
@Override
103109
protected Analyzer.TokenStreamComponents createComponents(String fieldName) {

core/src/test/java/org/owasp/dependencycheck/data/lucene/TokenPairConcatenatingFilterTest.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,22 @@
1717
*/
1818
package org.owasp.dependencycheck.data.lucene;
1919

20+
import java.io.IOException;
2021
import org.apache.lucene.analysis.Analyzer;
22+
import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
23+
import static org.apache.lucene.tests.analysis.BaseTokenStreamTestCase.checkOneTerm;
24+
import org.apache.lucene.tests.analysis.MockTokenizer;
2125
import org.apache.lucene.analysis.Tokenizer;
2226
import org.apache.lucene.analysis.core.KeywordTokenizer;
23-
import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
24-
import org.junit.jupiter.api.Test;
25-
26-
import java.io.IOException;
27-
28-
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
27+
import static org.junit.Assert.fail;
28+
import org.junit.Before;
29+
import org.junit.Test;
2930

3031
/**
3132
*
3233
* @author Jeremy Long
3334
*/
34-
class TokenPairConcatenatingFilterTest extends BaseTokenStreamTestCase {
35+
public class TokenPairConcatenatingFilterTest extends BaseTokenStreamTestCase {
3536

3637
// private Analyzer analyzer;
3738
//
@@ -80,14 +81,18 @@ class TokenPairConcatenatingFilterTest extends BaseTokenStreamTestCase {
8081
* @throws IOException
8182
*/
8283
@Test
83-
void testEmptyTerm() {
84+
public void testEmptyTerm() {
8485
Analyzer a = new Analyzer() {
8586
@Override
8687
protected Analyzer.TokenStreamComponents createComponents(String fieldName) {
8788
Tokenizer tokenizer = new KeywordTokenizer();
8889
return new Analyzer.TokenStreamComponents(tokenizer, new TokenPairConcatenatingFilter(tokenizer));
8990
}
9091
};
91-
assertDoesNotThrow(() -> checkOneTerm(a, "", ""), "Failed test random strings: ");
92+
try {
93+
checkOneTerm(a, "", "");
94+
} catch (IOException ex) {
95+
fail("Failed test random strings: " + ex.getMessage());
96+
}
9297
}
9398
}

core/src/test/java/org/owasp/dependencycheck/data/lucene/UrlTokenizingFilterTest.java

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,37 @@
1717
*/
1818
package org.owasp.dependencycheck.data.lucene;
1919

20+
import java.io.IOException;
2021
import org.apache.lucene.analysis.Analyzer;
21-
import org.apache.lucene.analysis.Tokenizer;
22-
import org.apache.lucene.analysis.core.KeywordTokenizer;
2322
import org.apache.lucene.tests.analysis.BaseTokenStreamTestCase;
2423
import org.apache.lucene.tests.analysis.MockTokenizer;
25-
import org.junit.jupiter.api.Test;
26-
27-
import java.io.IOException;
28-
29-
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
24+
import org.apache.lucene.analysis.Tokenizer;
25+
import org.apache.lucene.analysis.core.KeywordTokenizer;
26+
import org.junit.Test;
3027

3128
/**
3229
*
3330
* @author Jeremy Long
3431
*/
35-
class UrlTokenizingFilterTest extends BaseTokenStreamTestCase {
32+
public class UrlTokenizingFilterTest extends BaseTokenStreamTestCase {
3633

37-
private final Analyzer analyzer = new Analyzer() {
34+
private final Analyzer analyzer;
35+
36+
public UrlTokenizingFilterTest() {
37+
analyzer = new Analyzer() {
3838
@Override
3939
protected TokenStreamComponents createComponents(String fieldName) {
4040
Tokenizer source = new MockTokenizer(MockTokenizer.WHITESPACE, false);
4141
return new TokenStreamComponents(source, new UrlTokenizingFilter(source));
4242
}
4343
};
44+
}
4445

4546
/**
4647
* test some example domains
4748
*/
4849
@Test
49-
void testExamples() throws IOException {
50+
public void testExamples() throws IOException {
5051
String[] expected = new String[2];
5152
expected[0] = "domain";
5253
expected[1] = "test";
@@ -60,8 +61,12 @@ void testExamples() throws IOException {
6061
* blast some random strings through the analyzer
6162
*/
6263
@Test
63-
void testRandomStrings() {
64-
assertDoesNotThrow(() -> checkRandomData(random(), analyzer, 1000 * RANDOM_MULTIPLIER), "Failed test random strings: ");
64+
public void testRandomStrings() {
65+
try {
66+
checkRandomData(random(), analyzer, 1000 * RANDOM_MULTIPLIER);
67+
} catch (IOException ex) {
68+
fail("Failed test random strings: " + ex.getMessage());
69+
}
6570
}
6671

6772
/**
@@ -71,7 +76,7 @@ void testRandomStrings() {
7176
* @throws IOException
7277
*/
7378
@Test
74-
void testEmptyTerm() throws IOException {
79+
public void testEmptyTerm() throws IOException {
7580
Analyzer a = new Analyzer() {
7681
@Override
7782
protected TokenStreamComponents createComponents(String fieldName) {

core/src/test/java/org/owasp/dependencycheck/utils/ExtractionUtilTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,8 @@ void testExtractFiles_3args() throws Exception {
6363
void testExtractFilesUsingFilter() throws Exception {
6464
File destination = getSettings().getTempDirectory();
6565
File archive = BaseTest.getResourceAsFile(this, "evil.zip");
66-
ExtractionUtil.extractFiles(archive, destination);
66+
assertThrows(org.owasp.dependencycheck.utils.ExtractionException.class, () ->
67+
ExtractionUtil.extractFiles(archive, destination));
6768
FilenameFilter filter = new NameFileFilter("evil.txt");
6869
assertThrows(org.owasp.dependencycheck.utils.ExtractionException.class, () ->
6970
ExtractionUtil.extractFilesUsingFilter(archive, destination, filter));

core/src/test/java/org/owasp/dependencycheck/xml/pom/PomParserTest.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -88,23 +88,21 @@ void testParseWithoutDocTypeCleanup() throws Exception {
8888

8989

9090
@Test
91-
void testParseWithoutDocTypeCleanup_InputStreamWithDocType() throws Exception {
91+
void testParseWithoutDocTypeCleanup_InputStreamWithDocType() {
9292
InputStream inputStream = BaseTest.getResourceAsStream(this, "pom/mailapi-1.4.3_doctype.pom");
9393
PomParser instance = new PomParser();
94-
String expVersion = "1.4.3";
95-
Model result = instance.parseWithoutDocTypeCleanup(inputStream);
94+
9695
assertThrows(PomParseException.class, () ->
97-
assertEquals(expVersion, result.getParentVersion(), "Invalid version extracted"));
96+
instance.parseWithoutDocTypeCleanup(inputStream));
9897
}
9998

10099
@Test
101-
void testParseWithoutDocTypeCleanup_WithDocType() throws Exception {
100+
void testParseWithoutDocTypeCleanup_WithDocType() {
102101
File file = BaseTest.getResourceAsFile(this, "pom/mailapi-1.4.3_doctype.pom");
103102
PomParser instance = new PomParser();
104-
String expVersion = "1.4.3";
105-
Model result = instance.parseWithoutDocTypeCleanup(file);
103+
106104
assertThrows(PomParseException.class, () ->
107-
assertEquals(expVersion, result.getParentVersion(), "Invalid version extracted"));
105+
instance.parseWithoutDocTypeCleanup(file));
108106
}
109107

110108
}

maven/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ Copyright (c) 2013 Jeremy Long. All Rights Reserved.
114114
<artifactId>dependency-check-utils</artifactId>
115115
<version>${project.parent.version}</version>
116116
</dependency>
117+
<dependency>
118+
<groupId>org.mockito</groupId>
119+
<artifactId>mockito-core</artifactId>
120+
<version>${mockito.version}</version>
121+
<scope>test</scope>
122+
</dependency>
117123
<dependency>
118124
<groupId>org.mockito</groupId>
119125
<artifactId>mockito-junit-jupiter</artifactId>

maven/src/test/resources/maven_project_base_dir/pom.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,19 @@
4949
</dependency>
5050
<dependency>
5151
<groupId>org.junit.jupiter</groupId>
52-
<artifactId>junit-jupiter</artifactId>
52+
<artifactId>junit-jupiter-api</artifactId>
53+
<version>5.12.2</version>
54+
<scope>test</scope>
55+
</dependency>
56+
<dependency>
57+
<groupId>org.junit.jupiter</groupId>
58+
<artifactId>junit-jupiter-engine</artifactId>
59+
<version>5.12.2</version>
60+
<scope>test</scope>
61+
</dependency>
62+
<dependency>
63+
<groupId>org.junit.jupiter</groupId>
64+
<artifactId>junit-jupiter-params</artifactId>
5365
<version>5.12.2</version>
5466
<scope>test</scope>
5567
</dependency>

pom.xml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ Copyright (c) 2012 - Jeremy Long
156156
<aho-corasick-double-array-trie.version>1.2.3</aho-corasick-double-array-trie.version>
157157
<junit.version>5.12.2</junit.version>
158158
<hamcrest.version>3.0</hamcrest.version>
159-
<mockito.version>5.12.0</mockito.version>
159+
<mockito.version>5.17.0</mockito.version>
160160
<jsoup.version>1.19.1</jsoup.version>
161161
<commons-compress.version>1.27.1</commons-compress.version>
162162
<org.apache.maven.shared.file-management.version>3.2.0</org.apache.maven.shared.file-management.version>
@@ -1082,7 +1082,19 @@ Copyright (c) 2012 - Jeremy Long
10821082
</dependency>
10831083
<dependency>
10841084
<groupId>org.junit.jupiter</groupId>
1085-
<artifactId>junit-jupiter</artifactId>
1085+
<artifactId>junit-jupiter-api</artifactId>
1086+
<version>${junit.version}</version>
1087+
<scope>test</scope>
1088+
</dependency>
1089+
<dependency>
1090+
<groupId>org.junit.jupiter</groupId>
1091+
<artifactId>junit-jupiter-engine</artifactId>
1092+
<version>${junit.version}</version>
1093+
<scope>test</scope>
1094+
</dependency>
1095+
<dependency>
1096+
<groupId>org.junit.jupiter</groupId>
1097+
<artifactId>junit-jupiter-params</artifactId>
10861098
<version>${junit.version}</version>
10871099
<scope>test</scope>
10881100
</dependency>
@@ -1318,7 +1330,17 @@ Copyright (c) 2012 - Jeremy Long
13181330
<!-- region generic test dependencies -->
13191331
<dependency>
13201332
<groupId>org.junit.jupiter</groupId>
1321-
<artifactId>junit-jupiter</artifactId>
1333+
<artifactId>junit-jupiter-api</artifactId>
1334+
<scope>test</scope>
1335+
</dependency>
1336+
<dependency>
1337+
<groupId>org.junit.jupiter</groupId>
1338+
<artifactId>junit-jupiter-engine</artifactId>
1339+
<scope>test</scope>
1340+
</dependency>
1341+
<dependency>
1342+
<groupId>org.junit.jupiter</groupId>
1343+
<artifactId>junit-jupiter-params</artifactId>
13221344
<scope>test</scope>
13231345
</dependency>
13241346
<dependency>

0 commit comments

Comments
 (0)