diff --git a/pom.xml b/pom.xml index 352ba42..77cb2b6 100644 --- a/pom.xml +++ b/pom.xml @@ -145,6 +145,26 @@ + + org.codehaus.mojo + build-helper-maven-plugin + 3.1.0 + + + reserve-network-port + + reserve-network-port + + process-resources + + + validator.server.port + jacoco.tcp.port + + + + + org.apache.maven.plugins maven-enforcer-plugin @@ -319,6 +339,7 @@ prepareJacocoFailsafeArgLine + pre-integration-test prepare-agent @@ -326,7 +347,7 @@ jacocoFailsafe tcpserver
localhost
- 8081 + ${jacoco.tcp.port}
@@ -338,7 +359,7 @@
localhost
- 8081 + ${jacoco.tcp.port} true
@@ -411,6 +432,8 @@ ${project.build.testOutputDirectory}/examples/simple/scenarios.xml -r ${project.build.testOutputDirectory}/examples/simple/repository + --port + ${validator.server.port} -D @@ -425,6 +448,7 @@ + ${jacoco.tcp.port} @@ -448,6 +472,10 @@ integration-test verify + + + -Dfile.encoding=UTF-8 -Ddaemon.port=${validator.server.port} + diff --git a/src/main/java/de/kosit/validationtool/daemon/Daemon.java b/src/main/java/de/kosit/validationtool/daemon/Daemon.java index 6eeda08..9756238 100644 --- a/src/main/java/de/kosit/validationtool/daemon/Daemon.java +++ b/src/main/java/de/kosit/validationtool/daemon/Daemon.java @@ -6,7 +6,6 @@ import java.util.concurrent.Executors; import com.sun.net.httpserver.HttpServer; -import lombok.Getter; import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; @@ -23,7 +22,6 @@ import de.kosit.validationtool.model.daemon.HealthType; */ @RequiredArgsConstructor @Setter -@Getter @Slf4j public class Daemon { diff --git a/src/main/java/de/kosit/validationtool/impl/xml/StrictRelativeResolvingStrategy.java b/src/main/java/de/kosit/validationtool/impl/xml/StrictRelativeResolvingStrategy.java index bb6aa29..2db971c 100644 --- a/src/main/java/de/kosit/validationtool/impl/xml/StrictRelativeResolvingStrategy.java +++ b/src/main/java/de/kosit/validationtool/impl/xml/StrictRelativeResolvingStrategy.java @@ -1,7 +1,6 @@ package de.kosit.validationtool.impl.xml; import java.io.Reader; -import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; @@ -15,6 +14,7 @@ import javax.xml.validation.SchemaFactory; import javax.xml.validation.Validator; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import net.sf.saxon.Configuration; import net.sf.saxon.expr.XPathContext; @@ -98,12 +98,9 @@ public class StrictRelativeResolvingStrategy extends BaseResolvingStrategy { return processor; } + @SneakyThrows private static String encode(final String input) { - try { - return URLEncoder.encode(input, StandardCharsets.UTF_8.name()); - } catch (final UnsupportedEncodingException e) { - throw new IllegalStateException("Error encoding property while initializing saxon", e); - } + return URLEncoder.encode(input, StandardCharsets.UTF_8.name()); } @Override diff --git a/src/test/java/de/kosit/validationtool/daemon/BaseIT.java b/src/test/java/de/kosit/validationtool/daemon/BaseIT.java new file mode 100644 index 0000000..e719345 --- /dev/null +++ b/src/test/java/de/kosit/validationtool/daemon/BaseIT.java @@ -0,0 +1,26 @@ +package de.kosit.validationtool.daemon; + +import org.junit.Before; + +import io.restassured.RestAssured; + +/** + * Base for integration tests. + * + * @author Andreas Penski + */ +public abstract class BaseIT { + + @Before + public void setup() { + final String port = System.getProperty("daemon.port"); + if (port != null) { + RestAssured.port = Integer.valueOf(port); + } + final String baseHost = System.getProperty("daemon.host"); + if (baseHost != null) { + RestAssured.baseURI = baseHost; + } + RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); + } +} diff --git a/src/test/java/de/kosit/validationtool/cmd/DaemonIT.java b/src/test/java/de/kosit/validationtool/daemon/CheckHandlerIT.java similarity index 78% rename from src/test/java/de/kosit/validationtool/cmd/DaemonIT.java rename to src/test/java/de/kosit/validationtool/daemon/CheckHandlerIT.java index aa5f7f7..86e74f0 100644 --- a/src/test/java/de/kosit/validationtool/cmd/DaemonIT.java +++ b/src/test/java/de/kosit/validationtool/daemon/CheckHandlerIT.java @@ -1,4 +1,4 @@ -package de.kosit.validationtool.cmd; +package de.kosit.validationtool.daemon; import static io.restassured.RestAssured.given; @@ -6,13 +6,11 @@ import java.io.IOException; import java.io.InputStream; import org.apache.commons.io.IOUtils; -import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import de.kosit.validationtool.impl.Helper.Simple; -import io.restassured.RestAssured; import io.restassured.http.ContentType; /** @@ -20,24 +18,13 @@ import io.restassured.http.ContentType; * * @author Roula Antoun */ -public class DaemonIT { +public class CheckHandlerIT extends BaseIT { private static final String APPLICATION_XML = "application/xml"; - @Before - public void setup() { - final String port = System.getProperty("daemon.port"); - if (port != null) { - RestAssured.port = Integer.valueOf(port); - } - final String baseHost = System.getProperty("daemon.host"); - if (baseHost != null) { - RestAssured.baseURI = baseHost; - } - RestAssured.enableLoggingOfRequestAndResponseIfValidationFails(); - } + @Test public void makeSureThatSuccessTest() throws IOException { diff --git a/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerIT.java b/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerIT.java new file mode 100644 index 0000000..baba2d4 --- /dev/null +++ b/src/test/java/de/kosit/validationtool/daemon/ConfigHandlerIT.java @@ -0,0 +1,20 @@ +package de.kosit.validationtool.daemon; + +import static io.restassured.RestAssured.given; + +import org.junit.Test; + +import io.restassured.http.ContentType; + +/** + * Integration test for the {@link ConfigHandler}. + * + * @author Andreas Penski + */ +public class ConfigHandlerIT extends BaseIT { + + @Test + public void checkHealth() { + given().when().get("/server/config").then().statusCode(200).and().contentType(ContentType.XML); + } +} diff --git a/src/test/java/de/kosit/validationtool/daemon/HealthHandlerIT.java b/src/test/java/de/kosit/validationtool/daemon/HealthHandlerIT.java new file mode 100644 index 0000000..d706624 --- /dev/null +++ b/src/test/java/de/kosit/validationtool/daemon/HealthHandlerIT.java @@ -0,0 +1,20 @@ +package de.kosit.validationtool.daemon; + +import static io.restassured.RestAssured.given; + +import org.junit.Test; + +import io.restassured.http.ContentType; + +/** + * Checks the health endpoint. + * + * @author Andreas Penski + */ +public class HealthHandlerIT extends BaseIT { + + @Test + public void checkHealth() { + given().when().get("/server/health").then().statusCode(200).and().contentType(ContentType.XML); + } +}