From 33291bf738fb7a7f74e22da6968f361b3742c27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hallvard=20Tr=C3=A6tteberg?= <hal@ntnu.no> Date: Mon, 12 Oct 2020 15:36:11 +0000 Subject: [PATCH] Logging og port-bruk --- .../java/todolist/ui/TodoModelController.java | 1 - todolist/integrationtests/pom.xml | 42 +++++++++++++++---- .../main/resources/simplelogger.properties | 4 ++ .../src/test/java/todolist/ui/TodoAppIT.java | 13 +++--- .../todolist/restapi/TodoListResource.java | 4 +- .../java/todolist/restserver/TodoConfig.java | 2 - 6 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 todolist/integrationtests/src/main/resources/simplelogger.properties diff --git a/todolist/fxui/src/main/java/todolist/ui/TodoModelController.java b/todolist/fxui/src/main/java/todolist/ui/TodoModelController.java index 3ee5505..0de7779 100644 --- a/todolist/fxui/src/main/java/todolist/ui/TodoModelController.java +++ b/todolist/fxui/src/main/java/todolist/ui/TodoModelController.java @@ -6,7 +6,6 @@ import java.util.Objects; import javafx.fxml.FXML; import javafx.scene.control.ComboBox; import todolist.core.TodoList; -import todolist.json.TodoPersistence; public class TodoModelController { diff --git a/todolist/integrationtests/pom.xml b/todolist/integrationtests/pom.xml index fac265c..5defffc 100644 --- a/todolist/integrationtests/pom.xml +++ b/todolist/integrationtests/pom.xml @@ -80,15 +80,24 @@ <plugin> <artifactId>maven-compiler-plugin</artifactId> </plugin> + + <!-- Reservere porter og tilordne dem til variabler --> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <version>3.0.0-M1</version> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>3.2.0</version> + <configuration> + <portNames> + <portName>jetty.port</portName> + <portName>jetty.port.stop</portName> + </portNames> + </configuration> <executions> <execution> + <id>reserve-port</id> + <phase>pre-integration-test</phase> <goals> - <goal>integration-test</goal> - <goal>verify</goal> + <goal>reserve-network-port</goal> </goals> </execution> </executions> @@ -99,10 +108,10 @@ <version>9.4.31.v20200723</version> <configuration> <httpConnector> - <port>8999</port> + <port>${jetty.port}</port> </httpConnector> <stopKey>quit</stopKey> - <stopPort>9000</stopPort> + <stopPort>${jetty.port.stop}</stopPort> </configuration> <executions> <execution> @@ -121,6 +130,25 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <version>3.0.0-M1</version> + <executions> + <execution> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + <configuration> + <!-- System.getProperty("todo.port") gir riktig port --> + <systemPropertyVariables> + <todo.port>${jetty.port}</todo.port> + </systemPropertyVariables> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> </project> diff --git a/todolist/integrationtests/src/main/resources/simplelogger.properties b/todolist/integrationtests/src/main/resources/simplelogger.properties new file mode 100644 index 0000000..01c3102 --- /dev/null +++ b/todolist/integrationtests/src/main/resources/simplelogger.properties @@ -0,0 +1,4 @@ +# http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html + +org.slf4j.simpleLogger.defaultLogLevel=INFO +org.slf4j.simpleLogger.log.todolist.restapi=DEBUG diff --git a/todolist/integrationtests/src/test/java/todolist/ui/TodoAppIT.java b/todolist/integrationtests/src/test/java/todolist/ui/TodoAppIT.java index 23b1c04..659860a 100644 --- a/todolist/integrationtests/src/test/java/todolist/ui/TodoAppIT.java +++ b/todolist/integrationtests/src/test/java/todolist/ui/TodoAppIT.java @@ -10,6 +10,8 @@ import static org.junit.jupiter.api.Assertions.fail; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; +import java.net.URI; +import java.net.URISyntaxException; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.testfx.framework.junit5.ApplicationTest; @@ -26,15 +28,16 @@ public class TodoAppIT extends ApplicationTest { stage.setScene(new Scene(root)); stage.show(); } - - private TodoPersistence todoPersistence = new TodoPersistence(); @BeforeEach - public void setupItems() { + public void setupItems() throws URISyntaxException { // same as in test-todolist.json (should perhaps read it instead) try (Reader reader = new InputStreamReader(getClass().getResourceAsStream("it-todomodel.json"))) { - // TODO: implement and use remote todo model access - this.controller.setTodoModelAccess(new DirectTodoModelAccess(todoPersistence.readTodoModel(reader))); + String port = System.getProperty("todo.port"); + assertNotNull(port, "No todo.port system property set"); + URI baseUri = new URI("http://localhost:" + port + "/todo/"); + System.out.println("Base RemoteTodoModelAcces URI: " + baseUri); + this.controller.setTodoModelAccess(new RemoteTodoModelAccess(baseUri)); } catch (IOException ioe) { fail(ioe.getMessage()); } diff --git a/todolist/restapi/src/main/java/todolist/restapi/TodoListResource.java b/todolist/restapi/src/main/java/todolist/restapi/TodoListResource.java index 9b40de1..850234b 100644 --- a/todolist/restapi/src/main/java/todolist/restapi/TodoListResource.java +++ b/todolist/restapi/src/main/java/todolist/restapi/TodoListResource.java @@ -45,7 +45,7 @@ public class TodoListResource { @Produces(MediaType.APPLICATION_JSON) public TodoList getTodoList() { checkTodoList(); - LOG.debug("getTodoList(%s)", name); + LOG.debug("getTodoList({})", name); return this.todoList; } @@ -59,7 +59,7 @@ public class TodoListResource { @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public boolean putTodoList(TodoList todoListArg) { - LOG.debug("putTodoList(%s)", todoListArg); + LOG.debug("putTodoList({})", todoListArg); return this.todoModel.putTodoList(todoListArg) == null; } diff --git a/todolist/restserver/src/main/java/todolist/restserver/TodoConfig.java b/todolist/restserver/src/main/java/todolist/restserver/TodoConfig.java index 6fb60e9..f01ab81 100644 --- a/todolist/restserver/src/main/java/todolist/restserver/TodoConfig.java +++ b/todolist/restserver/src/main/java/todolist/restserver/TodoConfig.java @@ -7,8 +7,6 @@ import java.nio.charset.StandardCharsets; import org.glassfish.hk2.utilities.binding.AbstractBinder; import org.glassfish.jersey.jackson.JacksonFeature; import org.glassfish.jersey.server.ResourceConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import todolist.core.TodoList; import todolist.core.TodoModel; import todolist.json.TodoPersistence; -- GitLab