forked from loafle/openapi-generator-original
validate pom.xml files (#11672)
This commit is contained in:
parent
16457d0921
commit
6e7c39e64f
@ -341,6 +341,11 @@
|
|||||||
<version>3.24.0</version>
|
<version>3.24.0</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.openrewrite</groupId>
|
||||||
|
<artifactId>rewrite-maven</artifactId>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.reflections</groupId>
|
<groupId>org.reflections</groupId>
|
||||||
<artifactId>reflections</artifactId>
|
<artifactId>reflections</artifactId>
|
||||||
@ -374,6 +379,11 @@
|
|||||||
<artifactId>rgxgen</artifactId>
|
<artifactId>rgxgen</artifactId>
|
||||||
<version>${rxgen.version}</version>
|
<version>${rxgen.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.fasterxml.jackson.core</groupId>
|
||||||
|
<artifactId>jackson-databind</artifactId>
|
||||||
|
<version>${jackson.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||||
<artifactId>jackson-datatype-joda</artifactId>
|
<artifactId>jackson-datatype-joda</artifactId>
|
||||||
|
@ -18,12 +18,16 @@ import io.swagger.v3.oas.models.media.Schema;
|
|||||||
import io.swagger.v3.oas.models.servers.Server;
|
import io.swagger.v3.oas.models.servers.Server;
|
||||||
import io.swagger.v3.parser.core.models.ParseOptions;
|
import io.swagger.v3.parser.core.models.ParseOptions;
|
||||||
|
|
||||||
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.openapitools.codegen.MockDefaultGenerator.WrittenTemplateBasedFile;
|
import org.openapitools.codegen.MockDefaultGenerator.WrittenTemplateBasedFile;
|
||||||
import org.openapitools.codegen.utils.ModelUtils;
|
import org.openapitools.codegen.utils.ModelUtils;
|
||||||
|
import org.openrewrite.maven.internal.RawPom;
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
@ -125,6 +129,43 @@ public class TestUtils {
|
|||||||
assertFalse(generatedFiles.contains(path.toFile()), "File '" + path.toAbsolutePath() + "' was found in the list of generated files");
|
assertFalse(generatedFiles.contains(path.toFile()), "File '" + path.toAbsolutePath() + "' was found in the list of generated files");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void validatePomXmlFiles(final Map<String, String> fileMap) {
|
||||||
|
fileMap.forEach( (fileName, fileContents) -> {
|
||||||
|
if ("pom.xml".equals(fileName)) {
|
||||||
|
assertValidPomXml(fileContents);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void validatePomXmlFiles(final List<File> files) {
|
||||||
|
files.forEach( f -> {
|
||||||
|
String fileName = f.getName();
|
||||||
|
if ("pom.xml".equals(fileName)) {
|
||||||
|
try {
|
||||||
|
String fileContents = new String(Files.readAllBytes(f.toPath()), StandardCharsets.UTF_8);
|
||||||
|
assertValidPomXml(fileContents);
|
||||||
|
} catch (IOException exception) {
|
||||||
|
throw new RuntimeException(exception);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void assertValidPomXml(final String fileContents) {
|
||||||
|
final InputStream input = new ByteArrayInputStream(fileContents.getBytes(StandardCharsets.UTF_8));
|
||||||
|
try {
|
||||||
|
RawPom pom = RawPom.parse(input, null);
|
||||||
|
assertTrue(pom.getDependencies().getDependencies().size() > 0);
|
||||||
|
assertNotNull(pom.getName());
|
||||||
|
assertNotNull(pom.getArtifactId());
|
||||||
|
assertNotNull(pom.getGroupId());
|
||||||
|
assertNotNull(pom.getVersion());
|
||||||
|
} finally {
|
||||||
|
IOUtils.closeQuietly(input);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void validateJavaSourceFiles(Map<String, String> fileMap) {
|
public static void validateJavaSourceFiles(Map<String, String> fileMap) {
|
||||||
fileMap.forEach( (fileName, fileContents) -> {
|
fileMap.forEach( (fileName, fileContents) -> {
|
||||||
if (fileName.endsWith(".java")) {
|
if (fileName.endsWith(".java")) {
|
||||||
|
@ -126,6 +126,7 @@ public class JavaJerseyServerCodegenTest extends JavaJaxrsBaseTest {
|
|||||||
|
|
||||||
Assert.assertTrue(files.size() > 0);
|
Assert.assertTrue(files.size() > 0);
|
||||||
TestUtils.validateJavaSourceFiles(files);
|
TestUtils.validateJavaSourceFiles(files);
|
||||||
|
TestUtils.validatePomXmlFiles(files);
|
||||||
|
|
||||||
return files.stream().collect(Collectors.toMap(e -> e.getName().replace(outputPath, ""), i -> i));
|
return files.stream().collect(Collectors.toMap(e -> e.getName().replace(outputPath, ""), i -> i));
|
||||||
}
|
}
|
||||||
|
7
pom.xml
7
pom.xml
@ -1436,6 +1436,12 @@
|
|||||||
<version>${testng.version}</version>
|
<version>${testng.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.openrewrite</groupId>
|
||||||
|
<artifactId>rewrite-maven</artifactId>
|
||||||
|
<version>${openrewrite.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
<repositories>
|
<repositories>
|
||||||
@ -1483,6 +1489,7 @@
|
|||||||
<slf4j.version>1.7.32</slf4j.version>
|
<slf4j.version>1.7.32</slf4j.version>
|
||||||
<spotbugs-plugin.version>3.1.12.2</spotbugs-plugin.version>
|
<spotbugs-plugin.version>3.1.12.2</spotbugs-plugin.version>
|
||||||
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
|
||||||
|
<openrewrite.version>7.18.2</openrewrite.version>
|
||||||
<swagger-core.version>2.1.12</swagger-core.version>
|
<swagger-core.version>2.1.12</swagger-core.version>
|
||||||
<swagger-parser-groupid.version>io.swagger.parser.v3</swagger-parser-groupid.version>
|
<swagger-parser-groupid.version>io.swagger.parser.v3</swagger-parser-groupid.version>
|
||||||
<swagger-parser.version>2.0.29</swagger-parser.version>
|
<swagger-parser.version>2.0.29</swagger-parser.version>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user