Skip to content

Commit 6a4867b

Browse files
committed
Update TCK tests to use Arquillian
1 parent 62d17c9 commit 6a4867b

File tree

276 files changed

+1322
-820
lines changed

Some content is hidden

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

276 files changed

+1322
-820
lines changed

tck/pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!--
33
4-
Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
4+
Copyright (c) 2020 IBM and/or its affiliates. All rights reserved.
55
66
This program and the accompanying materials are made available under the
77
terms of the Eclipse Public License v. 2.0, which is available at
@@ -71,11 +71,15 @@
7171
<version>1.0</version>
7272
<scope>provided</scope>
7373
</dependency>
74+
<dependency>
75+
<groupId>org.jboss.arquillian.junit</groupId>
76+
<artifactId>arquillian-junit-container</artifactId>
77+
<version>1.6.0.Final</version>
78+
</dependency>
7479
<dependency>
7580
<groupId>junit</groupId>
7681
<artifactId>junit</artifactId>
7782
<version>4.12</version>
78-
<scope>compile</scope>
7983
</dependency>
8084
</dependencies>
8185
</project>

tck/src/main/java/jakarta/json/bind/cdi/customizedmapping/adapters/beans.xml

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

tck/src/main/java/jakarta/json/bind/cdi/customizedmapping/serializers/beans.xml

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

tck/src/main/java/jakarta/json/bind/MappingTester.java renamed to tck/src/main/java/jakarta/json/bind/tck/MappingTester.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
1515
*/
1616

17-
package jakarta.json.bind;
17+
package jakarta.json.bind.tck;
1818

1919
import static org.junit.Assert.fail;
2020

@@ -30,6 +30,9 @@
3030
import java.util.function.BiPredicate;
3131
import java.util.regex.Pattern;
3232

33+
import jakarta.json.bind.Jsonb;
34+
import jakarta.json.bind.JsonbBuilder;
35+
3336
public class MappingTester<T> {
3437
private static final String JSON_PATTERN_PREFIX = "\\{\\s*";
3538

tck/src/main/java/jakarta/json/bind/RegexMatcher.java renamed to tck/src/main/java/jakarta/json/bind/tck/RegexMatcher.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
*
1414
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
1515
*/
16-
package jakarta.json.bind;
16+
package jakarta.json.bind.tck;
1717

1818
import org.hamcrest.Description;
1919
import org.hamcrest.TypeSafeMatcher;
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package jakarta.json.bind.tck;
2+
3+
import org.jboss.shrinkwrap.api.Archive;
4+
import org.jboss.shrinkwrap.api.ArchivePath;
5+
import org.jboss.shrinkwrap.api.Filter;
6+
import org.jboss.shrinkwrap.api.Filters;
7+
import org.jboss.shrinkwrap.api.GenericArchive;
8+
import org.jboss.shrinkwrap.api.ShrinkWrap;
9+
import org.jboss.shrinkwrap.api.importer.ExplodedImporter;
10+
import org.jboss.shrinkwrap.api.spec.WebArchive;
11+
12+
public class ShrinkwrapHelper {
13+
14+
public static WebArchive createDefaultWar(Class<?> testClass) {
15+
return ShrinkWrap.create(WebArchive.class, testClass.getSimpleName() + ".war")
16+
.addPackages(true, testClass.getPackage().getName());
17+
}
18+
19+
// public static WebArchive buildDefaultApp(String appName, String... packages) throws Exception {
20+
// String appArchiveName = appName.endsWith(".war") ? appName : appName + ".war";
21+
// WebArchive app = ShrinkWrap.create(WebArchive.class, appArchiveName);
22+
// for (String p : packages) {
23+
// if (p.endsWith(".*"))
24+
// app = app.addPackages(true, p.replace(".*", ""));
25+
// else
26+
// app = app.addPackages(false, p);
27+
// }
28+
// String testAppResourcesDir = (appPath == null ? "" : appPath) + "test-applications/" + appName + "/resources/";
29+
// if (new File(testAppResourcesDir).exists()) {
30+
// app = (WebArchive) addDirectory(app, testAppResourcesDir);
31+
// }
32+
// return app;
33+
// }
34+
35+
/**
36+
* Recursively adds a folder and all of its contents to an archive.
37+
*
38+
* @param a The archive to add the files to
39+
* @param dir The directory which will be recursively added to the archive.
40+
*/
41+
public static Archive<?> addDirectory(Archive<?> a, String dir) throws Exception {
42+
return addDirectory(a, dir, Filters.includeAll());
43+
}
44+
45+
/**
46+
* Recursively adds a folder and all of its contents matching a filter to an archive.
47+
*
48+
* @param a The archive to add the files to
49+
* @param dir The directory which will be recursively added to the archive.
50+
* @param filter A filter indicating which files should be included in the archive
51+
*/
52+
public static Archive<?> addDirectory(Archive<?> a, String dir, Filter<ArchivePath> filter) throws Exception {
53+
return a.merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class).importDirectory(dir).as(GenericArchive.class),
54+
"/", filter);
55+
}
56+
57+
}

tck/src/main/java/jakarta/json/bind/SimpleMappingTester.java renamed to tck/src/main/java/jakarta/json/bind/tck/SimpleMappingTester.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
1515
*/
1616

17-
package jakarta.json.bind;
17+
package jakarta.json.bind.tck;
1818

1919
import static org.junit.Assert.fail;
2020

@@ -26,6 +26,9 @@
2626
import java.lang.reflect.Type;
2727
import java.nio.charset.StandardCharsets;
2828

29+
import jakarta.json.bind.Jsonb;
30+
import jakarta.json.bind.JsonbBuilder;
31+
2932
public class SimpleMappingTester<T> {
3033
private final Jsonb jsonb = JsonbBuilder.create();
3134

tck/src/main/java/jakarta/json/bind/TypeContainer.java renamed to tck/src/main/java/jakarta/json/bind/tck/TypeContainer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
* $Id$
1919
*/
2020

21-
package jakarta.json.bind;
21+
package jakarta.json.bind.tck;
2222

2323
public interface TypeContainer<T> {
2424
T getInstance();

tck/src/main/java/jakarta/json/bind/api/annotation/AnnotationTest.java renamed to tck/src/main/java/jakarta/json/bind/tck/api/annotation/AnnotationTest.java

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,47 @@
1818
* $Id$
1919
*/
2020

21-
package jakarta.json.bind.api.annotation;
21+
package jakarta.json.bind.tck.api.annotation;
2222

2323
import static org.junit.Assert.assertThat;
2424
import static org.junit.Assert.fail;
2525

26-
import org.hamcrest.Matcher;
26+
import org.jboss.arquillian.container.test.api.Deployment;
27+
import org.jboss.arquillian.junit.Arquillian;
28+
import org.jboss.shrinkwrap.api.ShrinkWrap;
29+
import org.jboss.shrinkwrap.api.spec.WebArchive;
2730
import org.junit.Test;
31+
import org.junit.runner.RunWith;
2832

2933
import jakarta.json.bind.Jsonb;
3034
import jakarta.json.bind.JsonbBuilder;
31-
import jakarta.json.bind.RegexMatcher;
32-
import jakarta.json.bind.api.model.SimpleAnnotatedAdaptedContainer;
33-
import jakarta.json.bind.api.model.SimpleAnnotatedDateContainer;
34-
import jakarta.json.bind.api.model.SimpleAnnotatedDoubleContainer;
35-
import jakarta.json.bind.api.model.SimpleAnnotatedNillableContainer;
36-
import jakarta.json.bind.api.model.SimpleAnnotatedNillablePropertyContainer;
37-
import jakarta.json.bind.api.model.SimpleAnnotatedPropertyOrderContainer;
38-
import jakarta.json.bind.api.model.SimpleAnnotatedPropertyVisibilityContainer;
39-
import jakarta.json.bind.api.model.SimpleAnnotatedSerializedArrayContainer;
40-
import jakarta.json.bind.api.model.SimpleAnnotatedSerializedContainer;
41-
import jakarta.json.bind.api.model.SimpleContainer;
42-
import jakarta.json.bind.api.model.SimplePartiallyAnnotatedPropertyOrderContainer;
35+
import jakarta.json.bind.tck.RegexMatcher;
36+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedAdaptedContainer;
37+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedDateContainer;
38+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedDoubleContainer;
39+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedNillableContainer;
40+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedNillablePropertyContainer;
41+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedPropertyOrderContainer;
42+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedPropertyVisibilityContainer;
43+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedSerializedArrayContainer;
44+
import jakarta.json.bind.tck.api.model.SimpleAnnotatedSerializedContainer;
45+
import jakarta.json.bind.tck.api.model.SimpleContainer;
46+
import jakarta.json.bind.tck.api.model.SimplePartiallyAnnotatedPropertyOrderContainer;
4347

4448
/**
4549
* @test
4650
* @sources AnnotationTest.java
4751
* @executeClass com.sun.ts.tests.jsonb.api.AnnotationTest
4852
**/
53+
@RunWith(Arquillian.class)
4954
public class AnnotationTest {
55+
56+
@Deployment
57+
public static WebArchive createTestArchive() {
58+
return ShrinkWrap.create(WebArchive.class)
59+
.addPackages(true, AnnotationTest.class.getPackage().getName());
60+
}
61+
5062
private Jsonb jsonb = JsonbBuilder.create();
5163

5264
/*

tck/src/main/java/jakarta/json/bind/api/builder/JsonbBuilderTest.java renamed to tck/src/main/java/jakarta/json/bind/tck/api/builder/JsonbBuilderTest.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,37 @@
1818
* $Id$
1919
*/
2020

21-
package jakarta.json.bind.api.builder;
21+
package jakarta.json.bind.tck.api.builder;
2222

2323
import static org.junit.Assert.fail;
2424

25+
import org.jboss.arquillian.container.test.api.Deployment;
26+
import org.jboss.arquillian.junit.Arquillian;
27+
import org.jboss.shrinkwrap.api.ShrinkWrap;
28+
import org.jboss.shrinkwrap.api.spec.WebArchive;
2529
import org.junit.Test;
30+
import org.junit.runner.RunWith;
2631

2732
import jakarta.json.bind.Jsonb;
2833
import jakarta.json.bind.JsonbBuilder;
2934
import jakarta.json.bind.JsonbConfig;
30-
import jakarta.json.bind.api.model.SimpleContainer;
3135
import jakarta.json.bind.spi.JsonbProvider;
36+
import jakarta.json.bind.tck.api.model.SimpleContainer;
3237
import jakarta.json.spi.JsonProvider;
3338

3439
/**
3540
* @test
3641
* @sources JsonbBuilderTest.java
3742
* @executeClass com.sun.ts.tests.jsonb.api.JsonbBuilderTest
3843
**/
44+
@RunWith(Arquillian.class)
3945
public class JsonbBuilderTest {
46+
47+
@Deployment
48+
public static WebArchive createTestArchive() {
49+
return ShrinkWrap.create(WebArchive.class)
50+
.addPackages(true, JsonbBuilderTest.class.getPackage().getName());
51+
}
4052

4153
/*
4254
* @testName: testBuild

0 commit comments

Comments
 (0)