From d37e1825a2df901adc68912c35fc95e5bf4358b3 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Mon, 30 May 2022 17:19:06 +0200
Subject: [PATCH] Finalize tests for initial JavaHandler

- try to find cause for failing RelationTest
---
 .gitlab-ci.yml                                |  2 ++
 ragconnect.tests/.gitignore                   |  1 +
 .../ragconnect/tests/AbstractMqttTest.java    |  6 +----
 .../org/jastadd/ragconnect/tests/Errors.java  |  3 +--
 .../jastadd/ragconnect/tests/JavaTest.java    |  4 +--
 .../ragconnect/tests/MqttHandlerTest.java     |  2 +-
 .../ragconnect/tests/RagConnectTest.java      | 26 +++++++++++++++++++
 .../ragconnect/tests/RegressionTests.java     |  2 +-
 .../jastadd/ragconnect/tests/Warnings.java    |  3 +--
 .../tests/relation/RelationTest.java          |  2 +-
 .../src/test/resources/log4j2.xml             |  3 +++
 11 files changed, 39 insertions(+), 15 deletions(-)
 create mode 100644 ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RagConnectTest.java

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 44a279a..401f721 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,6 +42,8 @@ test:
     - ./gradlew --console=plain --no-daemon allTests
   artifacts:
     when: always
+    paths:
+      - "ragconnect.tests/test.log"
     reports:
       junit: "ragconnect.tests/build/test-results/**/TEST-*.xml"
     expire_in: 1 week
diff --git a/ragconnect.tests/.gitignore b/ragconnect.tests/.gitignore
index 87b4cdd..31993ce 100644
--- a/ragconnect.tests/.gitignore
+++ b/ragconnect.tests/.gitignore
@@ -3,3 +3,4 @@ src/gen-res/
 src/gen/
 out/
 *.class
+test.log
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AbstractMqttTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AbstractMqttTest.java
index c537a1d..61fc420 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AbstractMqttTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AbstractMqttTest.java
@@ -14,14 +14,12 @@ import java.util.concurrent.TimeUnit;
  * @author rschoene - Initial contribution
  */
 @Tag("mqtt")
-public abstract class AbstractMqttTest {
+public abstract class AbstractMqttTest extends RagConnectTest {
 
   private static boolean checkDone = false;
 
   protected static MqttHandler publisher;
 
-  protected Logger logger = LoggerFactory.getLogger(getClass());
-
   /**
    * if the initial/current value shall be sent upon connecting
    */
@@ -61,7 +59,6 @@ public abstract class AbstractMqttTest {
   public final void testCommunicateSendInitialValue() throws IOException, InterruptedException {
     this.writeCurrentValue = true;
 
-    logger.debug("Start testCommunicateSendInitialValue");
     createModel();
     setupReceiverAndConnect();
 
@@ -80,7 +77,6 @@ public abstract class AbstractMqttTest {
   public final void testCommunicateOnlyUpdatedValue() throws IOException, InterruptedException {
     this.writeCurrentValue = false;
 
-    logger.debug("Start testCommunicateOnlyUpdatedValue");
     createModel();
     setupReceiverAndConnect();
 
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java
index d774d91..9d4c730 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Errors.java
@@ -22,9 +22,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  *
  * @author rschoene - Initial contribution
  */
-public class Errors {
+public class Errors extends RagConnectTest {
 
-  private static final Logger logger = LoggerFactory.getLogger(Errors.class);
   private static final String ERROR_DIRECTORY = "errors/";
   private static final String OUTPUT_DIRECTORY = TestUtils.OUTPUT_DIRECTORY_PREFIX + ERROR_DIRECTORY;
 
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/JavaTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/JavaTest.java
index 4e807cc..0c33e9c 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/JavaTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/JavaTest.java
@@ -21,8 +21,7 @@ import static org.junit.jupiter.api.Assertions.*;
  *
  * @author rschoene - Initial contribution
  */
-@Tag("New")
-public class JavaTest {
+public class JavaTest extends RagConnectTest {
 
   private static final String TOPIC_RECEIVE_TOKEN = "receiveToken";
   private static final String TOPIC_RECEIVE_NODE_PLAIN = "receiveNode/plain";
@@ -35,7 +34,6 @@ public class JavaTest {
   private static final String TOPIC_SEND_MANY = "sendMany";
   private static final String TOPIC_SEND_NTA = "sendNTA";
 
-  protected Logger logger = LoggerFactory.getLogger(getClass());
   private Root model;
   private SenderRoot senderRoot;
   private ReceiverRoot receiverRoot;
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/MqttHandlerTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/MqttHandlerTest.java
index 091990a..be61201 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/MqttHandlerTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/MqttHandlerTest.java
@@ -20,7 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * @author rschoene - Initial contribution
  */
 @Tag("mqtt")
-public class MqttHandlerTest {
+public class MqttHandlerTest extends RagConnectTest {
 
   @Test
   public void defaultBehaviour() {
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RagConnectTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RagConnectTest.java
new file mode 100644
index 0000000..e2da157
--- /dev/null
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RagConnectTest.java
@@ -0,0 +1,26 @@
+package org.jastadd.ragconnect.tests;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInfo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Base for all RagConnect tests.
+ *
+ * @author rschoene - Initial contribution
+ */
+public class RagConnectTest {
+  protected Logger logger = LoggerFactory.getLogger(getClass());
+
+  @BeforeEach
+  public void logStart(TestInfo testInfo) {
+    logger.info("Starting {}.{}", getClass().getSimpleName(), testInfo.getDisplayName());
+  }
+
+  @AfterEach
+  public void logEnd(TestInfo testInfo) {
+    logger.info("Finished {}.{}", getClass().getSimpleName(), testInfo.getDisplayName());
+  }
+}
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java
index 67c8217..5f74942 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/RegressionTests.java
@@ -17,7 +17,7 @@ import static org.junit.jupiter.api.Assertions.*;
  *
  * @author rschoene - Initial contribution
  */
-public class RegressionTests {
+public class RegressionTests extends RagConnectTest {
 
   private static final String REGRESSION_TEST_OUTPUT_DIRECTORY = "regression-test/";
 
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java
index b0840d6..121843c 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/Warnings.java
@@ -21,9 +21,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  *
  * @author rschoene - Initial contribution
  */
-public class Warnings {
+public class Warnings extends RagConnectTest {
 
-  private static final Logger logger = LoggerFactory.getLogger(Warnings.class);
   private static final String WARNING_DIRECTORY = "warnings/";
   private static final String OUTPUT_DIRECTORY = TestUtils.OUTPUT_DIRECTORY_PREFIX + WARNING_DIRECTORY;
 
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/relation/RelationTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/relation/RelationTest.java
index a245387..4ac0f55 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/relation/RelationTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/relation/RelationTest.java
@@ -616,7 +616,7 @@ public class RelationTest extends AbstractMqttTest {
     biB(3).getInner().setInnerValue("inner-bi-b3");
     checker.check();
 
-    System.out.println(model.ragconnectEvaluationCounterSummary());
+    logger.debug(model.ragconnectEvaluationCounterSummary());
   }
 
   private void assertNullOrA(String expectedValue, A actual, String alias) {
diff --git a/ragconnect.tests/src/test/resources/log4j2.xml b/ragconnect.tests/src/test/resources/log4j2.xml
index 653d6c3..9a1b22e 100644
--- a/ragconnect.tests/src/test/resources/log4j2.xml
+++ b/ragconnect.tests/src/test/resources/log4j2.xml
@@ -4,6 +4,9 @@
         <Console name="Console" target="SYSTEM_OUT">
             <PatternLayout pattern="%highlight{%d{HH:mm:ss.SSS} %-5level [%t] %logger{20} - %msg%n}" disableAnsi="false"/>
         </Console>
+        <File name="TestLogs" fileName="test.log" append="false">
+            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level [%t] %logger{20} - %msg%n"/>
+        </File>
     </Appenders>
     <Loggers>
         <Root level="debug">
-- 
GitLab