Skip to content

Commit

Permalink
Update TCK tests to use Arquillian
Browse files Browse the repository at this point in the history
  • Loading branch information
aguibert committed Feb 4, 2020
1 parent 62d17c9 commit 6a4867b
Show file tree
Hide file tree
Showing 276 changed files with 1,322 additions and 820 deletions.
8 changes: 6 additions & 2 deletions tck/pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2020 IBM and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
Expand Down Expand Up @@ -71,11 +71,15 @@
<version>1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.arquillian.junit</groupId>
<artifactId>arquillian-junit-container</artifactId>
<version>1.6.0.Final</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

This file was deleted.

This file was deleted.

Expand Up @@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/

package jakarta.json.bind;
package jakarta.json.bind.tck;

import static org.junit.Assert.fail;

Expand All @@ -30,6 +30,9 @@
import java.util.function.BiPredicate;
import java.util.regex.Pattern;

import jakarta.json.bind.Jsonb;
import jakarta.json.bind.JsonbBuilder;

public class MappingTester<T> {
private static final String JSON_PATTERN_PREFIX = "\\{\\s*";

Expand Down
Expand Up @@ -13,7 +13,7 @@
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package jakarta.json.bind;
package jakarta.json.bind.tck;

import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
Expand Down
57 changes: 57 additions & 0 deletions tck/src/main/java/jakarta/json/bind/tck/ShrinkwrapHelper.java
@@ -0,0 +1,57 @@
package jakarta.json.bind.tck;

import org.jboss.shrinkwrap.api.Archive;
import org.jboss.shrinkwrap.api.ArchivePath;
import org.jboss.shrinkwrap.api.Filter;
import org.jboss.shrinkwrap.api.Filters;
import org.jboss.shrinkwrap.api.GenericArchive;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.importer.ExplodedImporter;
import org.jboss.shrinkwrap.api.spec.WebArchive;

public class ShrinkwrapHelper {

public static WebArchive createDefaultWar(Class<?> testClass) {
return ShrinkWrap.create(WebArchive.class, testClass.getSimpleName() + ".war")
.addPackages(true, testClass.getPackage().getName());
}

// public static WebArchive buildDefaultApp(String appName, String... packages) throws Exception {
// String appArchiveName = appName.endsWith(".war") ? appName : appName + ".war";
// WebArchive app = ShrinkWrap.create(WebArchive.class, appArchiveName);
// for (String p : packages) {
// if (p.endsWith(".*"))
// app = app.addPackages(true, p.replace(".*", ""));
// else
// app = app.addPackages(false, p);
// }
// String testAppResourcesDir = (appPath == null ? "" : appPath) + "test-applications/" + appName + "/resources/";
// if (new File(testAppResourcesDir).exists()) {
// app = (WebArchive) addDirectory(app, testAppResourcesDir);
// }
// return app;
// }

/**
* Recursively adds a folder and all of its contents to an archive.
*
* @param a The archive to add the files to
* @param dir The directory which will be recursively added to the archive.
*/
public static Archive<?> addDirectory(Archive<?> a, String dir) throws Exception {
return addDirectory(a, dir, Filters.includeAll());
}

/**
* Recursively adds a folder and all of its contents matching a filter to an archive.
*
* @param a The archive to add the files to
* @param dir The directory which will be recursively added to the archive.
* @param filter A filter indicating which files should be included in the archive
*/
public static Archive<?> addDirectory(Archive<?> a, String dir, Filter<ArchivePath> filter) throws Exception {
return a.merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class).importDirectory(dir).as(GenericArchive.class),
"/", filter);
}

}
Expand Up @@ -14,7 +14,7 @@
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/

package jakarta.json.bind;
package jakarta.json.bind.tck;

import static org.junit.Assert.fail;

Expand All @@ -26,6 +26,9 @@
import java.lang.reflect.Type;
import java.nio.charset.StandardCharsets;

import jakarta.json.bind.Jsonb;
import jakarta.json.bind.JsonbBuilder;

public class SimpleMappingTester<T> {
private final Jsonb jsonb = JsonbBuilder.create();

Expand Down
Expand Up @@ -18,7 +18,7 @@
* $Id$
*/

package jakarta.json.bind;
package jakarta.json.bind.tck;

public interface TypeContainer<T> {
T getInstance();
Expand Down
Expand Up @@ -18,35 +18,47 @@
* $Id$
*/

package jakarta.json.bind.api.annotation;
package jakarta.json.bind.tck.api.annotation;

import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;

import org.hamcrest.Matcher;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

import jakarta.json.bind.Jsonb;
import jakarta.json.bind.JsonbBuilder;
import jakarta.json.bind.RegexMatcher;
import jakarta.json.bind.api.model.SimpleAnnotatedAdaptedContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedDateContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedDoubleContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedNillableContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedNillablePropertyContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedPropertyOrderContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedPropertyVisibilityContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedSerializedArrayContainer;
import jakarta.json.bind.api.model.SimpleAnnotatedSerializedContainer;
import jakarta.json.bind.api.model.SimpleContainer;
import jakarta.json.bind.api.model.SimplePartiallyAnnotatedPropertyOrderContainer;
import jakarta.json.bind.tck.RegexMatcher;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedAdaptedContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedDateContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedDoubleContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedNillableContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedNillablePropertyContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedPropertyOrderContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedPropertyVisibilityContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedSerializedArrayContainer;
import jakarta.json.bind.tck.api.model.SimpleAnnotatedSerializedContainer;
import jakarta.json.bind.tck.api.model.SimpleContainer;
import jakarta.json.bind.tck.api.model.SimplePartiallyAnnotatedPropertyOrderContainer;

/**
* @test
* @sources AnnotationTest.java
* @executeClass com.sun.ts.tests.jsonb.api.AnnotationTest
**/
@RunWith(Arquillian.class)
public class AnnotationTest {

@Deployment
public static WebArchive createTestArchive() {
return ShrinkWrap.create(WebArchive.class)
.addPackages(true, AnnotationTest.class.getPackage().getName());
}

private Jsonb jsonb = JsonbBuilder.create();

/*
Expand Down
Expand Up @@ -18,25 +18,37 @@
* $Id$
*/

package jakarta.json.bind.api.builder;
package jakarta.json.bind.tck.api.builder;

import static org.junit.Assert.fail;

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

import jakarta.json.bind.Jsonb;
import jakarta.json.bind.JsonbBuilder;
import jakarta.json.bind.JsonbConfig;
import jakarta.json.bind.api.model.SimpleContainer;
import jakarta.json.bind.spi.JsonbProvider;
import jakarta.json.bind.tck.api.model.SimpleContainer;
import jakarta.json.spi.JsonProvider;

/**
* @test
* @sources JsonbBuilderTest.java
* @executeClass com.sun.ts.tests.jsonb.api.JsonbBuilderTest
**/
@RunWith(Arquillian.class)
public class JsonbBuilderTest {

@Deployment
public static WebArchive createTestArchive() {
return ShrinkWrap.create(WebArchive.class)
.addPackages(true, JsonbBuilderTest.class.getPackage().getName());
}

/*
* @testName: testBuild
Expand Down
Expand Up @@ -18,38 +18,51 @@
* $Id$
*/

package jakarta.json.bind.api.config;
package jakarta.json.bind.tck.api.config;

import static org.junit.Assert.fail;

import java.util.Locale;
import java.util.Map;
import java.util.Optional;

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

import jakarta.json.bind.JsonbConfig;
import jakarta.json.bind.adapter.JsonbAdapter;
import jakarta.json.bind.api.model.SimpleContainerDeserializer;
import jakarta.json.bind.api.model.SimpleContainerSerializer;
import jakarta.json.bind.api.model.SimpleIntegerAdapter;
import jakarta.json.bind.api.model.SimpleIntegerDeserializer;
import jakarta.json.bind.api.model.SimpleIntegerSerializer;
import jakarta.json.bind.api.model.SimplePropertyNamingStrategy;
import jakarta.json.bind.api.model.SimplePropertyVisibilityStrategy;
import jakarta.json.bind.api.model.SimpleStringAdapter;
import jakarta.json.bind.config.BinaryDataStrategy;
import jakarta.json.bind.config.PropertyNamingStrategy;
import jakarta.json.bind.config.PropertyOrderStrategy;
import jakarta.json.bind.serializer.JsonbDeserializer;
import jakarta.json.bind.serializer.JsonbSerializer;
import jakarta.json.bind.tck.api.annotation.AnnotationTest;
import jakarta.json.bind.tck.api.model.SimpleContainerDeserializer;
import jakarta.json.bind.tck.api.model.SimpleContainerSerializer;
import jakarta.json.bind.tck.api.model.SimpleIntegerAdapter;
import jakarta.json.bind.tck.api.model.SimpleIntegerDeserializer;
import jakarta.json.bind.tck.api.model.SimpleIntegerSerializer;
import jakarta.json.bind.tck.api.model.SimplePropertyNamingStrategy;
import jakarta.json.bind.tck.api.model.SimplePropertyVisibilityStrategy;
import jakarta.json.bind.tck.api.model.SimpleStringAdapter;

/**
* @test
* @sources JsonbConfigTest.java
* @executeClass com.sun.ts.tests.jsonb.api.JsonbConfigTest
**/
@RunWith(Arquillian.class)
public class JsonbConfigTest {

@Deployment
public static WebArchive createTestArchive() {
return ShrinkWrap.create(WebArchive.class)
.addPackages(true, JsonbConfigTest.class.getPackage().getName());
}

/*
* @testName: testGetAsMap
Expand Down
Expand Up @@ -18,11 +18,18 @@
* $Id$
*/

package jakarta.json.bind.api.exception;
package jakarta.json.bind.tck.api.exception;

import static org.junit.Assert.fail;

import java.lang.invoke.MethodHandles;

import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import org.junit.runner.RunWith;

import jakarta.json.bind.JsonbException;

Expand All @@ -31,7 +38,14 @@
* @sources JsonbExceptionTest.java
* @executeClass com.sun.ts.tests.jsonb.api.JsonbExceptionTest
**/
@RunWith(Arquillian.class)
public class JsonbExceptionTest {

@Deployment
public static WebArchive createTestArchive() {
return ShrinkWrap.create(WebArchive.class)
.addPackages(true, MethodHandles.lookup().lookupClass().getPackage().getName());
}

/*
* @testName: testJsonbExceptionString
Expand Down

0 comments on commit 6a4867b

Please sign in to comment.