validate pom.xml files (#11672)

This commit is contained in:
sullis 2022-02-23 00:38:25 -08:00 committed by GitHub
parent 16457d0921
commit 6e7c39e64f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 59 additions and 0 deletions

View File

@ -341,6 +341,11 @@
<version>3.24.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openrewrite</groupId>
<artifactId>rewrite-maven</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
@ -374,6 +379,11 @@
<artifactId>rgxgen</artifactId>
<version>${rxgen.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-joda</artifactId>

View File

@ -18,12 +18,16 @@ import io.swagger.v3.oas.models.media.Schema;
import io.swagger.v3.oas.models.servers.Server;
import io.swagger.v3.parser.core.models.ParseOptions;
import org.apache.commons.io.IOUtils;
import org.openapitools.codegen.MockDefaultGenerator.WrittenTemplateBasedFile;
import org.openapitools.codegen.utils.ModelUtils;
import org.openrewrite.maven.internal.RawPom;
import org.testng.Assert;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
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");
}
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) {
fileMap.forEach( (fileName, fileContents) -> {
if (fileName.endsWith(".java")) {

View File

@ -126,6 +126,7 @@ public class JavaJerseyServerCodegenTest extends JavaJaxrsBaseTest {
Assert.assertTrue(files.size() > 0);
TestUtils.validateJavaSourceFiles(files);
TestUtils.validatePomXmlFiles(files);
return files.stream().collect(Collectors.toMap(e -> e.getName().replace(outputPath, ""), i -> i));
}

View File

@ -1436,6 +1436,12 @@
<version>${testng.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openrewrite</groupId>
<artifactId>rewrite-maven</artifactId>
<version>${openrewrite.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
@ -1483,6 +1489,7 @@
<slf4j.version>1.7.32</slf4j.version>
<spotbugs-plugin.version>3.1.12.2</spotbugs-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-parser-groupid.version>io.swagger.parser.v3</swagger-parser-groupid.version>
<swagger-parser.version>2.0.29</swagger-parser.version>