diff --git a/.github/workflows/maven-pulls.yml b/.github/workflows/maven-pulls.yml index d803a3ea..f7d51f21 100644 --- a/.github/workflows/maven-pulls.yml +++ b/.github/workflows/maven-pulls.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 8, 11 ] + java: [ 17, 21 ] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 81baba67..68c37b3e 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ 8, 11 ] + java: [ 17, 21 ] steps: - uses: actions/checkout@v6 @@ -38,7 +38,7 @@ jobs: mvn --no-transfer-progress -B verify --file pom.xml export MY_JAVA_VERSION=`java -version 2>&1 | head -1 | cut -d'"' -f2 | sed '/^1\./s///' | cut -d'.' -f1` echo "JAVA VERSION" ${MY_JAVA_VERSION} - if [[ ${MY_JAVA_VERSION} == "8" ]]; + if [[ ${MY_JAVA_VERSION} == "17" ]]; then export MY_POM_VERSION=`mvn -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec` echo "POM VERSION" ${MY_POM_VERSION} diff --git a/.github/workflows/next-snapshot-v1.yml b/.github/workflows/next-snapshot-v1.yml index 7905f772..2fb93701 100644 --- a/.github/workflows/next-snapshot-v1.yml +++ b/.github/workflows/next-snapshot-v1.yml @@ -2,7 +2,6 @@ name: Next Snapshot V1 on: workflow_dispatch: - branches: ["v1"] jobs: build: diff --git a/.github/workflows/next-snapshot.yml b/.github/workflows/next-snapshot.yml index 371674b7..a10f3eda 100644 --- a/.github/workflows/next-snapshot.yml +++ b/.github/workflows/next-snapshot.yml @@ -2,7 +2,6 @@ name: Next Snapshot on: workflow_dispatch: - branches: ["master"] jobs: build: @@ -23,7 +22,7 @@ jobs: - name: Set up Java uses: actions/setup-java@v5 with: - java-version: 8 + java-version: 17 distribution: temurin server-id: central server-username: MAVEN_USERNAME diff --git a/.github/workflows/prepare-release-v1.yml b/.github/workflows/prepare-release-v1.yml index 84361201..f48b2feb 100644 --- a/.github/workflows/prepare-release-v1.yml +++ b/.github/workflows/prepare-release-v1.yml @@ -2,7 +2,6 @@ name: Prepare Release V1 on: workflow_dispatch: - branches: ["v1"] jobs: build: diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml index a539f8f2..0df3aca5 100644 --- a/.github/workflows/prepare-release.yml +++ b/.github/workflows/prepare-release.yml @@ -2,7 +2,6 @@ name: Prepare Release on: workflow_dispatch: - branches: ["master"] jobs: build: @@ -20,10 +19,10 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' - - name: Set up Java 8 + - name: Set up Java 17 uses: actions/setup-java@v5 with: - java-version: 8 + java-version: 17 distribution: temurin server-id: central server-username: MAVEN_USERNAME diff --git a/.github/workflows/release-v1.yml b/.github/workflows/release-v1.yml index c0475bc9..6d52a049 100644 --- a/.github/workflows/release-v1.yml +++ b/.github/workflows/release-v1.yml @@ -2,7 +2,6 @@ name: Release V1 on: workflow_dispatch: - branches: ["v1"] jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 48c6b7e7..8945caaf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,6 @@ name: Release on: workflow_dispatch: - branches: ["master"] jobs: build: @@ -20,10 +19,10 @@ jobs: uses: actions/setup-python@v4 with: python-version: '3.10' - - name: Set up Java 8 + - name: Set up Java 17 uses: actions/setup-java@v5 with: - java-version: 8 + java-version: 17 distribution: temurin server-id: central server-username: MAVEN_USERNAME diff --git a/pom.xml b/pom.xml index 6446da56..e0e860f1 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ jar swagger-inflector swagger-inflector - 2.0.18-SNAPSHOT + 3.0.0-SNAPSHOT https://github.com/swagger-api/swagger-inflector scm:git:git@github.com:swagger-api/swagger-inflector.git @@ -72,18 +72,6 @@ jacoco-maven-plugin 0.8.6 - - org.apache.maven.plugins - maven-gpg-plugin - 1.6 - - - - --pinentry-mode - loopback - - - @@ -100,7 +88,7 @@ - 1.8 + 17 @@ -159,13 +147,11 @@ maven-javadoc-plugin ${maven-javadoc-version} - 1.8 + 17 UTF-8 1g - - http://java.sun.com/javase/6/docs/api/ - - ${javadoc.package.exclude} + false + false @@ -181,8 +167,7 @@ maven-compiler-plugin 3.11.0 - 1.8 - 1.8 + 17 @@ -209,16 +194,13 @@ 3.12.1 - org.eclipse.jetty - jetty-maven-plugin + org.eclipse.jetty.ee10 + jetty-ee10-maven-plugin ${jetty-version} true - - config - src/test/config/config1.yaml - + src/test/config/config1.yaml / @@ -240,10 +222,6 @@ start - - 0 - true - stop-jetty @@ -344,15 +322,12 @@ org.apache.maven.plugins maven-jxr-plugin - 2.3 - - true - + 3.6.0 org.apache.maven.plugins maven-project-info-reports-plugin - 2.6 + 3.9.0 @@ -367,7 +342,7 @@ io.swagger.core.v3 - swagger-jaxrs2 + swagger-jaxrs2-jakarta ${swagger-core-version} @@ -409,11 +384,27 @@ ${jersey2-version} - javax.servlet - javax.servlet-api + jakarta.servlet + jakarta.servlet-api ${servlet-api-version} provided + + jakarta.xml.bind + jakarta.xml.bind-api + ${jaxb-api-version} + + + com.sun.xml.bind + jaxb-impl + ${jaxb-impl-version} + runtime + + + jakarta.inject + jakarta.inject-api + 2.0.1 + ch.qos.logback @@ -452,7 +443,7 @@ org.testng testng - 6.9.6 + 7.12.0 test @@ -481,8 +472,8 @@ - com.fasterxml.jackson.jaxrs - jackson-jaxrs-json-provider + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-json-provider ${jackson.version} @@ -491,8 +482,8 @@ ${jackson.version} - com.fasterxml.jackson.jaxrs - jackson-jaxrs-yaml-provider + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-yaml-provider ${jackson.version} @@ -501,14 +492,14 @@ ${jackson.version} - com.fasterxml.jackson.jaxrs - jackson-jaxrs-xml-provider + com.fasterxml.jackson.jakarta.rs + jackson-jakarta-rs-xml-provider ${jackson.version} org.mockito - mockito-all - 1.10.19 + mockito-core + 4.11.0 test @@ -530,11 +521,13 @@ 3.6.2 2.2.35 - 2.1.31 + 2.1.40 2.21.1 - 9.4.56.v20240826 - 2.46 - 3.1.0 + 12.0.14 + 3.1.9 + 4.0.2 + 4.0.5 + 6.0.0 2.21.0 3.20.0 1.10.0 diff --git a/scripts/pom.xml b/scripts/pom.xml index 0a0fbe53..27678b22 100644 --- a/scripts/pom.xml +++ b/scripts/pom.xml @@ -107,16 +107,20 @@ - org.eclipse.jetty - jetty-maven-plugin + org.eclipse.jetty.ee10 + jetty-ee10-maven-plugin ${jetty-version} - . - - inflector.yaml - src/main/swagger/openapi.yaml - - 1 + 1 + + + ${project.basedir} + + inflector.yaml + src/main/swagger/openapi.yaml + + + / @@ -169,11 +173,11 @@ io.swagger swagger-inflector - 2.0.18-SNAPSHOT + 3.0.0-SNAPSHOT - 9.4.53.v20231009 + 12.0.14 1.5.22 4.13.2 1.7.36 diff --git a/scripts/web.xml b/scripts/web.xml index 0e727e63..b8c6036b 100644 --- a/scripts/web.xml +++ b/scripts/web.xml @@ -22,7 +22,7 @@ swagger-inflector org.glassfish.jersey.servlet.ServletContainer - javax.ws.rs.Application + jakarta.ws.rs.Application io.swagger.oas.inflector.OpenAPIInflector 1 diff --git a/src/main/java/io/swagger/oas/inflector/CustomMediaTypes.java b/src/main/java/io/swagger/oas/inflector/CustomMediaTypes.java index a2d3818a..577c6c38 100644 --- a/src/main/java/io/swagger/oas/inflector/CustomMediaTypes.java +++ b/src/main/java/io/swagger/oas/inflector/CustomMediaTypes.java @@ -16,7 +16,7 @@ package io.swagger.oas.inflector; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; public class CustomMediaTypes { diff --git a/src/main/java/io/swagger/oas/inflector/OpenAPIInflector.java b/src/main/java/io/swagger/oas/inflector/OpenAPIInflector.java index 8487a2ea..15351732 100644 --- a/src/main/java/io/swagger/oas/inflector/OpenAPIInflector.java +++ b/src/main/java/io/swagger/oas/inflector/OpenAPIInflector.java @@ -3,9 +3,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; -import com.fasterxml.jackson.jaxrs.xml.JacksonJaxbXMLProvider; -import com.fasterxml.jackson.jaxrs.yaml.JacksonYAMLProvider; +import com.fasterxml.jackson.jakarta.rs.json.JacksonJsonProvider; +import com.fasterxml.jackson.jakarta.rs.xml.JacksonXMLProvider; +import com.fasterxml.jackson.jakarta.rs.yaml.JacksonYAMLProvider; import io.swagger.oas.inflector.config.ExposedSpecOptions; import io.swagger.oas.inflector.config.FilterFactory; @@ -56,11 +56,11 @@ import org.slf4j.LoggerFactory; import javax.net.ssl.SSLHandshakeException; -import javax.servlet.ServletContext; -import javax.ws.rs.HttpMethod; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ContextResolver; +import jakarta.servlet.ServletContext; +import jakarta.ws.rs.HttpMethod; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.ext.ContextResolver; import java.net.URI; import java.nio.file.Files; import java.nio.file.LinkOption; @@ -267,7 +267,7 @@ protected void init(Configuration configuration) { ContextResolver.class); } enableProcessor(JacksonProcessor.class, MediaType.APPLICATION_XML_TYPE); - register(JacksonJaxbXMLProvider.class); + register(JacksonXMLProvider.class); register(XMLExampleProvider.class); } else if ("yaml".equalsIgnoreCase(item)) { // YAML diff --git a/src/main/java/io/swagger/oas/inflector/controllers/InflectResultController.java b/src/main/java/io/swagger/oas/inflector/controllers/InflectResultController.java index c04d812a..5508a6ac 100644 --- a/src/main/java/io/swagger/oas/inflector/controllers/InflectResultController.java +++ b/src/main/java/io/swagger/oas/inflector/controllers/InflectResultController.java @@ -19,8 +19,8 @@ import io.swagger.oas.inflector.models.InflectResult; import org.glassfish.jersey.process.Inflector; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.core.Response; public class InflectResultController implements Inflector { private InflectResult result; diff --git a/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIOperationController.java b/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIOperationController.java index 10eeec10..a76817e5 100644 --- a/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIOperationController.java +++ b/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIOperationController.java @@ -51,18 +51,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.inject.Inject; -import javax.inject.Provider; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.NewCookie; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.ResponseBuilder; -import javax.ws.rs.core.UriInfo; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Providers; +import jakarta.inject.Inject; +import jakarta.inject.Provider; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.NewCookie; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.ResponseBuilder; +import jakarta.ws.rs.core.UriInfo; +import jakarta.ws.rs.ext.ContextResolver; +import jakarta.ws.rs.ext.Providers; import java.io.File; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIResourceController.java b/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIResourceController.java index c0f43e57..6c694993 100644 --- a/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIResourceController.java +++ b/src/main/java/io/swagger/oas/inflector/controllers/OpenAPIResourceController.java @@ -33,10 +33,10 @@ import java.util.List; import java.util.Map; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.core.Cookie; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.core.Cookie; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.Response; public class OpenAPIResourceController implements Inflector { private static final Logger LOGGER = LoggerFactory.getLogger(OpenAPIResourceController.class); diff --git a/src/main/java/io/swagger/oas/inflector/examples/models/Example.java b/src/main/java/io/swagger/oas/inflector/examples/models/Example.java index 344359f0..93b26a99 100644 --- a/src/main/java/io/swagger/oas/inflector/examples/models/Example.java +++ b/src/main/java/io/swagger/oas/inflector/examples/models/Example.java @@ -16,7 +16,7 @@ package io.swagger.oas.inflector.examples.models; -import javax.xml.bind.annotation.XmlAttribute; +import jakarta.xml.bind.annotation.XmlAttribute; public interface Example { String getName(); diff --git a/src/main/java/io/swagger/oas/inflector/models/RequestContext.java b/src/main/java/io/swagger/oas/inflector/models/RequestContext.java index 2e6c1822..bd1d45f5 100644 --- a/src/main/java/io/swagger/oas/inflector/models/RequestContext.java +++ b/src/main/java/io/swagger/oas/inflector/models/RequestContext.java @@ -18,11 +18,11 @@ import io.swagger.v3.oas.models.Operation; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/main/java/io/swagger/oas/inflector/models/ResponseContext.java b/src/main/java/io/swagger/oas/inflector/models/ResponseContext.java index 6a639acb..cb2c4835 100644 --- a/src/main/java/io/swagger/oas/inflector/models/ResponseContext.java +++ b/src/main/java/io/swagger/oas/inflector/models/ResponseContext.java @@ -16,11 +16,11 @@ package io.swagger.oas.inflector.models; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedHashMap; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.core.NewCookie; -import javax.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedHashMap; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.core.NewCookie; +import jakarta.ws.rs.core.Response.Status; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/io/swagger/oas/inflector/processors/AbstractExampleProvider.java b/src/main/java/io/swagger/oas/inflector/processors/AbstractExampleProvider.java index b98e043d..6610c6e1 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/AbstractExampleProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/AbstractExampleProvider.java @@ -22,13 +22,10 @@ import java.lang.annotation.Annotation; import java.lang.reflect.Type; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; import com.fasterxml.jackson.databind.module.SimpleModule; @@ -36,7 +33,6 @@ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, "application/yaml"}) public abstract class AbstractExampleProvider implements MessageBodyWriter { static boolean prettyPrint = false; - Logger LOGGER = LoggerFactory.getLogger(AbstractExampleProvider.class); static { SimpleModule simpleModule = new SimpleModule(); diff --git a/src/main/java/io/swagger/oas/inflector/processors/BinaryProcessor.java b/src/main/java/io/swagger/oas/inflector/processors/BinaryProcessor.java index 7765b16e..e0a834f5 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/BinaryProcessor.java +++ b/src/main/java/io/swagger/oas/inflector/processors/BinaryProcessor.java @@ -33,7 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; diff --git a/src/main/java/io/swagger/oas/inflector/processors/EntityProcessor.java b/src/main/java/io/swagger/oas/inflector/processors/EntityProcessor.java index e9e40db3..d0f3af8a 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/EntityProcessor.java +++ b/src/main/java/io/swagger/oas/inflector/processors/EntityProcessor.java @@ -21,7 +21,7 @@ import io.swagger.oas.inflector.converters.ConversionException; import io.swagger.v3.oas.models.parameters.RequestBody; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.InputStream; import java.util.List; diff --git a/src/main/java/io/swagger/oas/inflector/processors/EntityProcessorFactory.java b/src/main/java/io/swagger/oas/inflector/processors/EntityProcessorFactory.java index 517ca989..ca2dc55f 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/EntityProcessorFactory.java +++ b/src/main/java/io/swagger/oas/inflector/processors/EntityProcessorFactory.java @@ -22,7 +22,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.InputStream; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/io/swagger/oas/inflector/processors/JacksonProcessor.java b/src/main/java/io/swagger/oas/inflector/processors/JacksonProcessor.java index 58321377..aa993239 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/JacksonProcessor.java +++ b/src/main/java/io/swagger/oas/inflector/processors/JacksonProcessor.java @@ -28,7 +28,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; diff --git a/src/main/java/io/swagger/oas/inflector/processors/JsonExampleProvider.java b/src/main/java/io/swagger/oas/inflector/processors/JsonExampleProvider.java index bbe1a800..4330c52c 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/JsonExampleProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/JsonExampleProvider.java @@ -19,11 +19,11 @@ import io.swagger.oas.inflector.examples.models.Example; import io.swagger.v3.core.util.Json; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; import java.io.IOException; import java.io.OutputStream; import java.lang.annotation.Annotation; diff --git a/src/main/java/io/swagger/oas/inflector/processors/JsonProvider.java b/src/main/java/io/swagger/oas/inflector/processors/JsonProvider.java index 862b8731..80d51b9a 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/JsonProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/JsonProvider.java @@ -4,8 +4,8 @@ import com.fasterxml.jackson.databind.SerializationFeature; import io.swagger.v3.core.util.Json; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.ext.ContextResolver; +import jakarta.ws.rs.ext.Provider; @Provider public class JsonProvider implements ContextResolver { diff --git a/src/main/java/io/swagger/oas/inflector/processors/PlainExampleProvider.java b/src/main/java/io/swagger/oas/inflector/processors/PlainExampleProvider.java index 1fd1d261..dec3a9d3 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/PlainExampleProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/PlainExampleProvider.java @@ -3,11 +3,11 @@ import io.swagger.oas.inflector.examples.models.Example; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; import java.io.IOException; import java.io.OutputStream; import java.lang.annotation.Annotation; diff --git a/src/main/java/io/swagger/oas/inflector/processors/PlainProcessor.java b/src/main/java/io/swagger/oas/inflector/processors/PlainProcessor.java index 475524ad..2c42ff7c 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/PlainProcessor.java +++ b/src/main/java/io/swagger/oas/inflector/processors/PlainProcessor.java @@ -9,7 +9,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; diff --git a/src/main/java/io/swagger/oas/inflector/processors/XMLExampleProvider.java b/src/main/java/io/swagger/oas/inflector/processors/XMLExampleProvider.java index c62b9aa4..0717a613 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/XMLExampleProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/XMLExampleProvider.java @@ -19,11 +19,11 @@ import io.swagger.oas.inflector.examples.XmlExampleSerializer; import io.swagger.oas.inflector.examples.models.Example; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; import java.io.IOException; import java.io.OutputStream; import java.lang.annotation.Annotation; diff --git a/src/main/java/io/swagger/oas/inflector/processors/YamlExampleProvider.java b/src/main/java/io/swagger/oas/inflector/processors/YamlExampleProvider.java index 5daa8641..e59168df 100644 --- a/src/main/java/io/swagger/oas/inflector/processors/YamlExampleProvider.java +++ b/src/main/java/io/swagger/oas/inflector/processors/YamlExampleProvider.java @@ -24,11 +24,11 @@ import java.lang.annotation.Annotation; import java.lang.reflect.Type; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.MessageBodyWriter; -import javax.ws.rs.ext.Provider; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedMap; +import jakarta.ws.rs.ext.MessageBodyWriter; +import jakarta.ws.rs.ext.Provider; @Provider @Produces({"application/yaml"}) diff --git a/src/main/java/io/swagger/oas/inflector/utils/ApiErrorUtils.java b/src/main/java/io/swagger/oas/inflector/utils/ApiErrorUtils.java index 0a83fb0f..7e0232fc 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/ApiErrorUtils.java +++ b/src/main/java/io/swagger/oas/inflector/utils/ApiErrorUtils.java @@ -18,11 +18,15 @@ import io.swagger.oas.inflector.models.ApiError; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.concurrent.ThreadLocalRandom; public class ApiErrorUtils { + private ApiErrorUtils() { + throw new UnsupportedOperationException("ApiErrorUtils class - cannot be instantiated"); + } + public static ApiError createInternalError() { final String message = String.format("There was an error processing your request." + " It has been logged (ID: %016x)", ThreadLocalRandom.current().nextLong()); diff --git a/src/main/java/io/swagger/oas/inflector/utils/CORSFilter.java b/src/main/java/io/swagger/oas/inflector/utils/CORSFilter.java index 2c04d7ad..3685faf6 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/CORSFilter.java +++ b/src/main/java/io/swagger/oas/inflector/utils/CORSFilter.java @@ -16,15 +16,15 @@ package io.swagger.oas.inflector.utils; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.FilterChain; +import jakarta.servlet.FilterConfig; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; -public class CORSFilter implements javax.servlet.Filter { +public class CORSFilter implements jakarta.servlet.Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { diff --git a/src/main/java/io/swagger/oas/inflector/utils/ContentTypeSelector.java b/src/main/java/io/swagger/oas/inflector/utils/ContentTypeSelector.java index 6e111cd7..9df59de2 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/ContentTypeSelector.java +++ b/src/main/java/io/swagger/oas/inflector/utils/ContentTypeSelector.java @@ -18,8 +18,8 @@ import java.util.List; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; public interface ContentTypeSelector { diff --git a/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeProvider.java b/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeProvider.java index 46e78736..c69d0efc 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeProvider.java +++ b/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeProvider.java @@ -16,8 +16,8 @@ package io.swagger.oas.inflector.utils; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.ext.ContextResolver; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.ext.ContextResolver; public class DefaultContentTypeProvider implements ContextResolver { private final ContentTypeSelector selector; diff --git a/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeSelector.java b/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeSelector.java index fd144577..11303035 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeSelector.java +++ b/src/main/java/io/swagger/oas/inflector/utils/DefaultContentTypeSelector.java @@ -18,8 +18,8 @@ import io.swagger.oas.inflector.CustomMediaTypes; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/src/main/java/io/swagger/oas/inflector/utils/DefaultExceptionMapper.java b/src/main/java/io/swagger/oas/inflector/utils/DefaultExceptionMapper.java index 2808dff5..5cff29c8 100644 --- a/src/main/java/io/swagger/oas/inflector/utils/DefaultExceptionMapper.java +++ b/src/main/java/io/swagger/oas/inflector/utils/DefaultExceptionMapper.java @@ -22,16 +22,16 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.ext.ContextResolver; -import javax.ws.rs.ext.ExceptionMapper; -import javax.ws.rs.ext.Provider; -import javax.ws.rs.ext.Providers; +import jakarta.ws.rs.WebApplicationException; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.ext.ContextResolver; +import jakarta.ws.rs.ext.ExceptionMapper; +import jakarta.ws.rs.ext.Provider; +import jakarta.ws.rs.ext.Providers; import java.util.List; @Provider diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 0e727e63..b8c6036b 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -22,7 +22,7 @@ swagger-inflector org.glassfish.jersey.servlet.ServletContainer - javax.ws.rs.Application + jakarta.ws.rs.Application io.swagger.oas.inflector.OpenAPIInflector 1 diff --git a/src/test/java/io/swagger/oas/inflector/controllers/OpenAPIOperationControllerTest.java b/src/test/java/io/swagger/oas/inflector/controllers/OpenAPIOperationControllerTest.java index eb9e2523..f0d25fff 100644 --- a/src/test/java/io/swagger/oas/inflector/controllers/OpenAPIOperationControllerTest.java +++ b/src/test/java/io/swagger/oas/inflector/controllers/OpenAPIOperationControllerTest.java @@ -23,10 +23,10 @@ import io.swagger.v3.oas.models.Operation; import org.testng.annotations.Test; -import javax.inject.Provider; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.container.ContainerRequestContext; +import jakarta.inject.Provider; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.ws.rs.container.ContainerRequestContext; import java.util.Collections; import java.util.Map; diff --git a/src/test/java/io/swagger/oas/sample/controllers/TestController.java b/src/test/java/io/swagger/oas/sample/controllers/TestController.java index b8018cf0..0b9ebe48 100644 --- a/src/test/java/io/swagger/oas/sample/controllers/TestController.java +++ b/src/test/java/io/swagger/oas/sample/controllers/TestController.java @@ -28,10 +28,10 @@ import io.swagger.oas.test.models.ExtendedAddress; import io.swagger.oas.test.models.User; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.NewCookie; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.NewCookie; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; import java.io.File; import java.util.List; diff --git a/src/test/java/io/swagger/oas/sample/models/Category.java b/src/test/java/io/swagger/oas/sample/models/Category.java index 09549657..c0db07c2 100644 --- a/src/test/java/io/swagger/oas/sample/models/Category.java +++ b/src/test/java/io/swagger/oas/sample/models/Category.java @@ -1,7 +1,7 @@ package io.swagger.oas.sample.models; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Category") public class Category { diff --git a/src/test/java/io/swagger/oas/sample/models/Dog.java b/src/test/java/io/swagger/oas/sample/models/Dog.java index 793e994e..da3fd313 100644 --- a/src/test/java/io/swagger/oas/sample/models/Dog.java +++ b/src/test/java/io/swagger/oas/sample/models/Dog.java @@ -1,6 +1,6 @@ package io.swagger.oas.sample.models; -import javax.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElement; public class Dog { diff --git a/src/test/java/io/swagger/oas/sample/models/Pet.java b/src/test/java/io/swagger/oas/sample/models/Pet.java index 374c8d95..5d38c352 100644 --- a/src/test/java/io/swagger/oas/sample/models/Pet.java +++ b/src/test/java/io/swagger/oas/sample/models/Pet.java @@ -18,9 +18,9 @@ import io.swagger.v3.oas.annotations.media.Schema; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.ArrayList; import java.util.List; diff --git a/src/test/java/io/swagger/oas/sample/models/Tag.java b/src/test/java/io/swagger/oas/sample/models/Tag.java index dae554ab..5e5e8f74 100644 --- a/src/test/java/io/swagger/oas/sample/models/Tag.java +++ b/src/test/java/io/swagger/oas/sample/models/Tag.java @@ -1,8 +1,8 @@ package io.swagger.oas.sample.models; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "Tag") public class Tag { diff --git a/src/test/java/io/swagger/oas/test/client/ApiClient.java b/src/test/java/io/swagger/oas/test/client/ApiClient.java index fcc1f09e..544e918e 100644 --- a/src/test/java/io/swagger/oas/test/client/ApiClient.java +++ b/src/test/java/io/swagger/oas/test/client/ApiClient.java @@ -27,14 +27,14 @@ import org.glassfish.jersey.logging.LoggingFeature; import org.glassfish.jersey.media.multipart.MultiPartFeature; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.Invocation; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; +import jakarta.ws.rs.client.Client; +import jakarta.ws.rs.client.ClientBuilder; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.client.WebTarget; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; @@ -310,8 +310,7 @@ public Object deserialize(String json, String containerType, Class cls) throws A try { if ("list".equals(containerType) || "array".equals(containerType)) { JavaType typeInfo = Json.mapper().getTypeFactory().constructCollectionType(List.class, cls); - List response = (List) Json.mapper().readValue(json, typeInfo); - return response; + return Json.mapper().readValue(json, typeInfo); } else if (String.class.equals(cls)) { if (json != null && json.startsWith("\"") && json.endsWith("\"") && json.length() > 1) { return json.substring(1, json.length() - 2); @@ -447,7 +446,6 @@ public String invokeAPI(String path, String method, Map queryPar try { message = String.valueOf(response.readEntity(String.class)); } catch (RuntimeException e) { - // e.printStackTrace(); } } throw new ApiException( diff --git a/src/test/java/io/swagger/oas/test/client/auth/HttpBasicAuth.java b/src/test/java/io/swagger/oas/test/client/auth/HttpBasicAuth.java index cf8c5e71..753a5236 100644 --- a/src/test/java/io/swagger/oas/test/client/auth/HttpBasicAuth.java +++ b/src/test/java/io/swagger/oas/test/client/auth/HttpBasicAuth.java @@ -16,7 +16,7 @@ package io.swagger.oas.test.client.auth; -import javax.xml.bind.DatatypeConverter; +import jakarta.xml.bind.DatatypeConverter; import java.io.UnsupportedEncodingException; import java.util.Map; diff --git a/src/test/java/io/swagger/oas/test/examples/ExampleBuilderTest.java b/src/test/java/io/swagger/oas/test/examples/ExampleBuilderTest.java index 848532a5..cf6fb1c4 100644 --- a/src/test/java/io/swagger/oas/test/examples/ExampleBuilderTest.java +++ b/src/test/java/io/swagger/oas/test/examples/ExampleBuilderTest.java @@ -45,7 +45,6 @@ import io.swagger.v3.parser.OpenAPIV3Parser; import io.swagger.v3.parser.core.models.AuthorizationValue; import io.swagger.v3.parser.core.models.ParseOptions; -import mockit.Injectable; import org.testng.Assert; import org.testng.annotations.Test; @@ -53,12 +52,16 @@ import java.util.List; import java.util.Map; +import static org.mockito.Mockito.mock; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import static org.testng.Assert.assertFalse; public class ExampleBuilderTest { + + private List auths = mock(List.class); + static { // register the JSON serializer SimpleModule simpleModule = new SimpleModule(); @@ -88,7 +91,7 @@ public void testAnonymousModel(){ ParseOptions options = new ParseOptions(); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/issue252.yaml", null, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/issue252.yaml", auths, options); ApiResponse response = openAPI.getPaths().get("/products.xml").getGet().getResponses().get( "200" ); Example example = ExampleBuilder.fromSchema(response.getContent().get("application/xml").getSchema(), openAPI.getComponents().getSchemas()); @@ -103,7 +106,7 @@ public void testAllOfAndRefResolveFully(){ ParseOptions options = new ParseOptions(); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/allOfAndRefResolveFully.yaml", null, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/allOfAndRefResolveFully.yaml", auths, options); ApiResponse response = openAPI.getPaths().get("/inventory").getGet().getResponses().get( "200" ); Example example = ExampleBuilder.fromSchema(response.getContent().get("application/xml").getSchema(), openAPI.getComponents().getSchemas()); @@ -114,7 +117,7 @@ public void testAllOfAndRefResolveFully(){ } @Test - public void testReadModel() throws Exception { + public void testReadModel() { Map definitions = ModelConverters.getInstance().readAll(User.class); Object o = ExampleBuilder.fromSchema(new Schema().$ref("User"), definitions); @@ -872,13 +875,13 @@ public void verifyBooleanAdditionalPropertyFalse() throws Exception { } @Test - public void resolveComposedOneOfRefSchema(@Injectable List auth){ + public void resolveComposedOneOfRefSchema(){ ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/oneOf-anyOf.yaml", auth, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/oneOf-anyOf.yaml", auths, options); ApiResponse response = openAPI.getPaths().get("/oneOf").getGet().getResponses().get("200"); Example example = ExampleBuilder.fromSchema(response.getContent().get("application/json").getSchema(),null,ExampleBuilder.RequestType.READ); @@ -901,13 +904,13 @@ public void resolveComposedOneOfRefSchema(@Injectable List a } @Test - public void testAdjacentComposedSchema(@Injectable List auth){ + public void testAdjacentComposedSchema(){ ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/oneOf-anyOf.yaml", auth, options); + OpenAPI openAPI = new OpenAPIV3Parser().read("src/test/swagger/oneOf-anyOf.yaml", auths, options); ApiResponse responseAdjacent = openAPI.getPaths().get("/adjacent").getGet().getResponses().get("200"); @@ -926,7 +929,7 @@ public void testAdjacentComposedSchema(@Injectable List auth } @Test - public void testRefAndInlineAllOf(@Injectable final List auths) throws Exception { + public void testRefAndInlineAllOf() throws Exception { ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); diff --git a/src/test/java/io/swagger/oas/test/examples/ResponseExamplesTest.java b/src/test/java/io/swagger/oas/test/examples/ResponseExamplesTest.java index ab1bf7a5..a4624f9c 100644 --- a/src/test/java/io/swagger/oas/test/examples/ResponseExamplesTest.java +++ b/src/test/java/io/swagger/oas/test/examples/ResponseExamplesTest.java @@ -30,23 +30,21 @@ import io.swagger.v3.parser.core.models.ParseOptions; import io.swagger.v3.core.util.Json; import io.swagger.v3.core.util.Yaml; -import mockit.Injectable; -import org.testng.Assert; import org.testng.annotations.Test; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedHashMap; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriInfo; +import jakarta.ws.rs.container.ContainerRequestContext; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MultivaluedHashMap; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.UriInfo; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.stub; +import static org.mockito.Mockito.when; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertNotNull; @@ -56,6 +54,7 @@ public class ResponseExamplesTest { private int equal = 0; private int different = 0; + private List auths = mock(List.class); static { // register the JSON serializer @@ -66,7 +65,7 @@ public class ResponseExamplesTest { } @Test - public void testResponseJsonExample(@Injectable final List auths) throws Exception { + public void testResponseJsonExample() throws Exception { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); exampleProcessor.add("sequence"); @@ -83,22 +82,22 @@ public void testResponseJsonExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/responseWithExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getAcceptableMediaTypes()).toReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getAcceptableMediaTypes()).thenReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); + assertEquals( response.getStatus(), 200 ); assertEquals( Json.mapper().writeValueAsString(response.getEntity()), "{\"value\":{\"test\":\"jsonvalue\"}}"); } @Test - public void testResponseYamlExample(@Injectable final List auths) throws Exception { + public void testResponseYamlExample() throws Exception { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); @@ -116,17 +115,17 @@ public void testResponseYamlExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/responseWithExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getAcceptableMediaTypes()).toReturn(Arrays.asList(MediaType.valueOf("application/yaml"))); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getAcceptableMediaTypes()).thenReturn(Arrays.asList(MediaType.valueOf("application/yaml"))); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); + assertEquals( response.getStatus(), 200 ); assertEqualsIgnoreLineEnding( Yaml.mapper().writeValueAsString(response.getEntity()), "value: test: yamlvalue"); } @@ -134,7 +133,7 @@ private void assertEqualsIgnoreLineEnding(String actual, String expected) { assertEquals(actual.replace("\n", ""), expected); } - public void testRandomJsonExample(@Injectable final List auths) throws Exception { + private void testRandomJsonExample() throws Exception { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); exampleProcessor.add("random"); @@ -151,23 +150,23 @@ public void testRandomJsonExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/objectMultipleExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getAcceptableMediaTypes()).toReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getAcceptableMediaTypes()).thenReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); + assertEquals( response.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example1 = (Example) response.getEntity(); assertNotNull( Json.mapper().writeValueAsString(example1)); Response response1 = controller.apply( requestContext ); - assertEquals( 200, response1.getStatus() ); + assertEquals( response1.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example2 = (Example) response1.getEntity(); assertNotNull( Json.mapper().writeValueAsString(example2)); @@ -182,9 +181,9 @@ public void testRandomJsonExample(@Injectable final List auths)throws Exception{ + public void testRandom() throws Exception { for (int i = 0;i <1000; i++) { - testRandomJsonExample(auths); + testRandomJsonExample(); } if(different>equal) { assertTrue(different > equal); @@ -194,7 +193,7 @@ public void testRandom(@Injectable final List auths) throws Exception { + public void testSecuenceJsonExample() throws Exception { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); exampleProcessor.add("sequence"); @@ -211,48 +210,48 @@ public void testSecuenceJsonExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/objectMultipleExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getAcceptableMediaTypes()).toReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getAcceptableMediaTypes()).thenReturn(Arrays.asList(MediaType.APPLICATION_JSON_TYPE)); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); + assertEquals( response.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example1 = (Example) response.getEntity(); assertEquals( Json.mapper().writeValueAsString(example1), "{\"value\":{\"id\":6,\"name\":\"Queen Victoria\"}}"); Response response1 = controller.apply( requestContext ); - assertEquals( 200, response1.getStatus() ); + assertEquals( response1.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example2 = (Example) response1.getEntity(); assertEquals( Json.mapper().writeValueAsString(example2), "{\"value\":{\"id\":5,\"name\":\"Grace Gonzalez\"}}"); Response response2 = controller.apply( requestContext ); - assertEquals( 200, response2.getStatus() ); + assertEquals( response2.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example3 = (Example) response2.getEntity(); assertEquals( Json.mapper().writeValueAsString(example3), "{\"value\":{\"id\":4,\"name\":\"Arthur Dent\"}}"); Response response3 = controller.apply( requestContext ); - assertEquals( 200, response3.getStatus() ); + assertEquals( response3.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example4 = (Example) response3.getEntity(); assertEquals( Json.mapper().writeValueAsString(example4), "{\"value\":{\"id\":3,\"name\":\"Tricia McMillan\"}}"); Response response4 = controller.apply( requestContext ); - assertEquals( 200, response4.getStatus() ); + assertEquals( response4.getStatus(), 200 ); io.swagger.v3.oas.models.examples.Example example5 = (Example) response.getEntity(); assertEquals( Json.mapper().writeValueAsString(example5), "{\"value\":{\"id\":6,\"name\":\"Queen Victoria\"}}"); } @Test - public void testRandomRequestedJsonExample(@Injectable final List auths) throws Exception { + public void testRandomRequestedJsonExample() { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); exampleProcessor.add("random"); @@ -260,7 +259,7 @@ public void testRandomRequestedJsonExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/objectMultipleExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); requestContext.getHeaders().add("Accept","application/json"); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); - assertEquals( "json", response.getMediaType().getSubtype() ); + assertEquals( response.getStatus(), 200 ); + assertEquals( response.getMediaType().getSubtype(), "json" ); assertNotNull( response.getEntity()); @@ -289,7 +288,7 @@ public void testRandomRequestedJsonExample(@Injectable final List auths) throws Exception { + public void testRandomRequestedXmlExample() throws Exception { Configuration config = new Configuration(); List exampleProcessor = new ArrayList<>(); exampleProcessor.add("random"); @@ -297,7 +296,7 @@ public void testRandomRequestedXmlExample(@Injectable final List()); - stub( uriInfo.getPathParameters()).toReturn( new MultivaluedHashMap()); + when( uriInfo.getPath()).thenReturn( "/mockResponses/objectMultipleExamples"); + when( uriInfo.getQueryParameters()).thenReturn( new MultivaluedHashMap()); + when( uriInfo.getPathParameters()).thenReturn( new MultivaluedHashMap()); - stub( requestContext.getHeaders()).toReturn( new MultivaluedHashMap()); + when( requestContext.getHeaders()).thenReturn( new MultivaluedHashMap()); requestContext.getHeaders().add("Accept","application/xml"); - stub( requestContext.getUriInfo()).toReturn( uriInfo ); + when( requestContext.getUriInfo()).thenReturn( uriInfo ); Response response = controller.apply( requestContext ); - assertEquals( 200, response.getStatus() ); - assertEquals( "xml", response.getMediaType().getSubtype() ); + assertEquals( response.getStatus(), 200 ); + assertEquals( response.getMediaType().getSubtype(), "xml" ); assertNotNull( response.getEntity()); diff --git a/src/test/java/io/swagger/oas/test/integration/FileUploadTestIT.java b/src/test/java/io/swagger/oas/test/integration/FileUploadTestIT.java index 556e585e..0a0068a0 100644 --- a/src/test/java/io/swagger/oas/test/integration/FileUploadTestIT.java +++ b/src/test/java/io/swagger/oas/test/integration/FileUploadTestIT.java @@ -6,8 +6,8 @@ import org.glassfish.jersey.media.multipart.file.FileDataBodyPart; import org.testng.annotations.Test; -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.core.MediaType; import java.io.File; import java.io.PrintWriter; import java.util.HashMap; diff --git a/src/test/java/io/swagger/oas/test/integration/RequestTestIT.java b/src/test/java/io/swagger/oas/test/integration/RequestTestIT.java index 2c58610f..d74437bf 100644 --- a/src/test/java/io/swagger/oas/test/integration/RequestTestIT.java +++ b/src/test/java/io/swagger/oas/test/integration/RequestTestIT.java @@ -26,8 +26,8 @@ import org.testng.Assert; import org.testng.annotations.Test; -import javax.ws.rs.client.Entity; -import javax.ws.rs.core.*; +import jakarta.ws.rs.client.Entity; +import jakarta.ws.rs.core.*; import java.io.ByteArrayInputStream; import java.io.File; import java.io.InputStream; diff --git a/src/test/java/io/swagger/oas/test/integration/SwaggerListingIT.java b/src/test/java/io/swagger/oas/test/integration/SwaggerListingIT.java index 45369283..339553d3 100644 --- a/src/test/java/io/swagger/oas/test/integration/SwaggerListingIT.java +++ b/src/test/java/io/swagger/oas/test/integration/SwaggerListingIT.java @@ -30,7 +30,7 @@ import org.slf4j.LoggerFactory; import org.testng.annotations.Test; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.Response; import java.util.HashMap; import java.util.Map; import java.util.Set; diff --git a/src/test/java/io/swagger/oas/test/integration/responses/ResponseWithExceptionTestIT.java b/src/test/java/io/swagger/oas/test/integration/responses/ResponseWithExceptionTestIT.java index a8c61b9b..ed0cfd3c 100644 --- a/src/test/java/io/swagger/oas/test/integration/responses/ResponseWithExceptionTestIT.java +++ b/src/test/java/io/swagger/oas/test/integration/responses/ResponseWithExceptionTestIT.java @@ -25,9 +25,9 @@ import org.testng.Assert; import org.testng.annotations.Test; -import javax.ws.rs.core.HttpHeaders; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; +import jakarta.ws.rs.core.HttpHeaders; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; import java.io.IOException; import java.util.Collections; import java.util.HashMap; diff --git a/src/test/java/io/swagger/oas/test/models/Person.java b/src/test/java/io/swagger/oas/test/models/Person.java index 95e9774a..198f3223 100644 --- a/src/test/java/io/swagger/oas/test/models/Person.java +++ b/src/test/java/io/swagger/oas/test/models/Person.java @@ -16,8 +16,8 @@ package io.swagger.oas.test.models; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlRootElement; @XmlRootElement public class Person { diff --git a/src/test/java/io/swagger/oas/test/models/User.java b/src/test/java/io/swagger/oas/test/models/User.java index b7bee25c..8b111417 100644 --- a/src/test/java/io/swagger/oas/test/models/User.java +++ b/src/test/java/io/swagger/oas/test/models/User.java @@ -16,9 +16,9 @@ package io.swagger.oas.test.models; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import jakarta.xml.bind.annotation.XmlElement; +import jakarta.xml.bind.annotation.XmlElementWrapper; +import jakarta.xml.bind.annotation.XmlRootElement; import java.util.List; @XmlRootElement(name = "user") diff --git a/src/test/java/io/swagger/oas/test/processors/BinaryProcessorTest.java b/src/test/java/io/swagger/oas/test/processors/BinaryProcessorTest.java index 93471e2a..7d9bb35d 100644 --- a/src/test/java/io/swagger/oas/test/processors/BinaryProcessorTest.java +++ b/src/test/java/io/swagger/oas/test/processors/BinaryProcessorTest.java @@ -25,15 +25,15 @@ import io.swagger.v3.oas.models.media.Content; import io.swagger.v3.oas.models.media.Schema; import io.swagger.v3.oas.models.parameters.RequestBody; -import mockit.Mocked; import org.testng.Assert; import org.testng.annotations.Test; -import javax.ws.rs.HttpMethod; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.HttpMethod; +import jakarta.ws.rs.core.MediaType; import java.io.ByteArrayInputStream; import java.util.Map; +import static org.mockito.Mockito.mock; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertTrue; @@ -65,7 +65,9 @@ public void processTestWithException() throws UnsupportedOperationException { } @Test - public void processTest(@Mocked Configuration config, @Mocked Map definitions){ + public void processTest(){ + Configuration config = mock(Configuration.class); + Map definitions = mock(Map.class); Operation operation = new Operation().requestBody(new RequestBody().content(new Content(). addMediaType( "application/octec-stream", diff --git a/src/test/java/io/swagger/oas/test/processors/JacksonProcessorTest.java b/src/test/java/io/swagger/oas/test/processors/JacksonProcessorTest.java index 4038f51a..3f07bafb 100644 --- a/src/test/java/io/swagger/oas/test/processors/JacksonProcessorTest.java +++ b/src/test/java/io/swagger/oas/test/processors/JacksonProcessorTest.java @@ -22,7 +22,7 @@ import io.swagger.oas.inflector.processors.JacksonProcessor; import org.testng.annotations.Test; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.core.MediaType; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.nio.charset.StandardCharsets; diff --git a/src/test/java/io/swagger/oas/test/utils/ExtensionsUtilTest.java b/src/test/java/io/swagger/oas/test/utils/ExtensionsUtilTest.java index c20c9634..874c40ee 100644 --- a/src/test/java/io/swagger/oas/test/utils/ExtensionsUtilTest.java +++ b/src/test/java/io/swagger/oas/test/utils/ExtensionsUtilTest.java @@ -1,58 +1,51 @@ package io.swagger.oas.test.utils; import com.fasterxml.jackson.databind.JavaType; -import io.swagger.v3.oas.models.media.ObjectSchema; -import io.swagger.oas.sample.models.Dog; import io.swagger.oas.inflector.config.Configuration; import io.swagger.oas.inflector.utils.ExtensionsUtil; - import io.swagger.oas.inflector.utils.ReflectionUtils; +import io.swagger.oas.sample.models.Dog; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.Operation; - - import io.swagger.v3.oas.models.media.ArraySchema; +import io.swagger.v3.oas.models.media.ObjectSchema; import io.swagger.v3.oas.models.media.Schema; - import io.swagger.v3.oas.models.parameters.RequestBody; import io.swagger.v3.parser.OpenAPIV3Parser; import io.swagger.v3.parser.core.models.AuthorizationValue; import io.swagger.v3.parser.core.models.ParseOptions; import io.swagger.v3.parser.core.models.SwaggerParseResult; import io.swagger.v3.parser.util.ResolverFully; -import mockit.Injectable; import org.apache.commons.io.FileUtils; import org.testng.Assert; import org.testng.annotations.Test; - - import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; +import static org.mockito.Mockito.mock; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; import static org.testng.AssertJUnit.assertEquals; public class ExtensionsUtilTest { + private List auths = mock(List.class); @Test - public void allowBooleanAdditionalProperties(@Injectable final List auths) { + public void allowBooleanAdditionalProperties() { ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); - SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/swagger/additionalProperties.yaml", auths, options); + SwaggerParseResult result = new OpenAPIV3Parser().readLocation("./src/test/swagger/additionalProperties.yaml", this.auths, options); assertNotNull(result); assertNotNull(result.getOpenAPI()); OpenAPI openAPI = result.getOpenAPI(); Assert.assertEquals(result.getOpenAPI().getOpenapi(), "3.0.0"); - List messages = result.getMessages(); Assert.assertTrue(openAPI.getComponents().getSchemas().get("someObject").getAdditionalProperties() instanceof Schema); Assert.assertTrue(((Schema)(openAPI.getComponents().getSchemas().get("someObject").getProperties().get("innerObject"))).getAdditionalProperties() instanceof Boolean); @@ -60,7 +53,7 @@ public void allowBooleanAdditionalProperties(@Injectable final List auths){ + public void resolveComposedAllOfReferenceSchema(){ ParseOptions options = new ParseOptions(); options.setResolve(true); @@ -77,7 +70,7 @@ public void resolveComposedAllOfReferenceSchema(@Injectable final List auths) throws IOException{ + public void testArrayParam() throws IOException{ ParseOptions options = new ParseOptions(); options.setResolve(true); options.setResolveFully(true); @@ -97,7 +90,7 @@ public void testArrayParam(@Injectable final List auths) thr } @Test - public void testResolveRequestBody(@Injectable final List auths) throws Exception { + public void testResolveRequestBody() throws Exception { ReflectionUtils utils = new ReflectionUtils(); utils.setConfiguration( Configuration.read("src/test/config/config1.yaml")); @@ -125,7 +118,7 @@ public void testResolveRequestBody(@Injectable final List au @Test - public void selfReferenceTest(@Injectable final List auths) { + public void selfReferenceTest() { String yaml = "" + "openapi: '3.0'\n" + "paths:\n" + @@ -192,7 +185,7 @@ public void selfReferenceTest(@Injectable final List auths) options.setResolve(true); options.setResolveFully(true); - OpenAPI openAPI = new OpenAPIV3Parser().readContents(yaml,auths,options).getOpenAPI(); + OpenAPI openAPI = new OpenAPIV3Parser().readContents(yaml,this.auths,options).getOpenAPI(); new ExtensionsUtil().addExtensions(openAPI); // TODO write test for these extensions in schema paths an components as well Schema schemaB = openAPI.getPaths().get("/selfRefB").getGet().getParameters().get(0).getSchema(); @@ -210,7 +203,7 @@ public void selfReferenceTest(@Injectable final List auths) @Test - public void testSelfReferenceResolution(@Injectable final List auths)throws Exception { + public void testSelfReferenceResolution() { String yaml = "" + "openapi: 3.0.0\n" + @@ -246,7 +239,7 @@ public void testSelfReferenceResolution(@Injectable final List schemas = openAPI.getComponents().getSchemas();