add even more integration tests

This commit is contained in:
Athou
2025-07-21 07:58:59 +02:00
parent c6cc47192c
commit f7ae2e6689
27 changed files with 1772 additions and 107 deletions

View File

@@ -1,6 +1,9 @@
package com.commafeed.tools;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -8,6 +11,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import org.apache.commons.io.IOUtils;
import com.commafeed.CommaFeedConfiguration;
import io.quarkus.annotation.processor.Outputs;
@@ -31,16 +36,22 @@ public class CommaFeedPropertiesGenerator {
private final List<String> lines = new ArrayList<>();
public static void main(String[] args) throws Exception {
new CommaFeedPropertiesGenerator().generate(args);
}
private void generate(String[] args) throws IOException {
Path targetPath = Paths.get(args[0]);
ResolvedModel resolvedModel = JacksonMappers.yamlObjectReader()
.readValue(targetPath.resolve(Outputs.QUARKUS_CONFIG_DOC_MODEL).toFile(), ResolvedModel.class);
JavadocElements javadocElements = JacksonMappers.yamlObjectReader()
.readValue(targetPath.resolve(Outputs.QUARKUS_CONFIG_DOC_JAVADOC).toFile(), JavadocElements.class);
Path modelPath = targetPath.resolve(Outputs.QUARKUS_CONFIG_DOC_MODEL);
Path javadocPath = targetPath.resolve(Outputs.QUARKUS_CONFIG_DOC_JAVADOC);
Path outputPath = targetPath.resolve("quarkus-generated-doc").resolve("application.properties");
try (InputStream model = Files.newInputStream(modelPath);
InputStream javadoc = Files.newInputStream(javadocPath);
OutputStream output = Files.newOutputStream(outputPath)) {
new CommaFeedPropertiesGenerator().generate(model, javadoc, output);
}
}
void generate(InputStream model, InputStream javadoc, OutputStream output) throws IOException {
ResolvedModel resolvedModel = JacksonMappers.yamlObjectReader().readValue(model, ResolvedModel.class);
JavadocElements javadocElements = JacksonMappers.yamlObjectReader().readValue(javadoc, JavadocElements.class);
for (ConfigRoot configRoot : resolvedModel.getConfigRoots()) {
for (AbstractConfigItem item : configRoot.getItems()) {
@@ -48,7 +59,7 @@ public class CommaFeedPropertiesGenerator {
}
}
Files.writeString(targetPath.resolve("quarkus-generated-doc").resolve("application.properties"), String.join("\n", lines));
IOUtils.write(String.join("\n", lines), output, StandardCharsets.UTF_8);
}
private void handleAbstractConfigItem(AbstractConfigItem item, JavadocElements javadocElements) {