Skip to content

Commit

Permalink
1.0.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Gematik-Entwicklung committed Dec 13, 2024
1 parent 2c773f5 commit 106c3e1
Show file tree
Hide file tree
Showing 17 changed files with 210 additions and 220 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,4 @@ RUN ./downloadDeps.sh
RUN rm -f ./downloadDeps.sh

# Command to be executed.
ENTRYPOINT ["bash", "-c", "/app/run.sh"]
ENTRYPOINT ["bash", "-c", "rm -rf /app/report/* ; mvn clean verify || true ; mv -v /app/target/*report.zip /app/report/"]
78 changes: 55 additions & 23 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -104,8 +104,14 @@ Es gibt keine Vorgabe WIE diese Umleitung erfolgen muss, zwei Wege scheinen jedo

=== Forward Proxy (Variante 1)

Zunächst einmal kann der Tiger-Proxy schlicht als Forward-Proxy für das Primärsystem eingerichtet werden.
Die Routen sind entsprechend konfiguriert, so dass der Verkehr hier an die korrekten Aktensysteme weitergeleitet wird.
In dieser Konfiguration kann die KOB-Testsuite als Forward-Proxy für das Primärsystem eingerichtet werden.
Die Routen sind entsprechend konfiguriert, damit der Verkehr hier an die korrekten Aktensysteme weitergeleitet wird.

Hierbei sind folgende Punkte zu beachten:

* Primärsystem seitig wird die KOB-Testsuite als Proxy konfiguriert (e.g. `localhost:443`). Hiermit werden die Requests über die KOB-Testsuite an die Aktensysteme gesendet. Ein Request an `https://epa-as-1.dev.epa4all.de/foobar`, via KOB-Testsuite mit `localhost:443` entspricht somit `curl -x localhost:443 epa-as-1.dev.epa4all.de/foobar`)
* Dabei ist darauf zu achten, dass der HTTP Header im (äußeren) HTTP Request dennoch den FQDN des Aktensystems enthält (e.g `Host: epa-as-1.dev.epa4all.de`), damit das Routing an das gewünschte Aktensystem erfolgen kann.
* Eine zusätzliche Manipulation der DNS Auflösung (Variante 2) in der `hosts` Datei ist nicht notwendig.

=== DNS Manipulation (Variante 2)

Expand All @@ -124,6 +130,38 @@ Beispiel, wenn das Primärsystem auf dem gleichen Rechner läuft, wie die Testsu
Diese Einträge sollten nach der Durchführung der KOB-Testsuite wieder entfernt werden, da es ansonsten zu einem unbeabsichtigten Fehlverhalten führt, wenn die KOB-Testsuite nicht mehr aktiv läuft und somit die Nachrichten nicht mehr an die Aktensysteme weitergeleitet werden.
====

=== Proxy für die Erreichbarkeit der Aktensysteme

Sollten sich die Aktensysteme in der RU-DEV Umgebung nicht direkt erreichen lassen, sondern nur über einen (Forward) Proxy (z.B. in einem unternehmensinternen VPN), dann müssen in der Datei `tiger.yml` folgende Zeilen entsprechen aktiviert und angepasst werden:

[source,yaml]
----
# proxy configuration
forwardToProxy:
hostname: <PROXY_IP_OR_FQDN>
port: <PROXY_PORT>
----

=== Konfiguration von Git

Bei dem Checkout für eine lokale Kopie von dem Repository ist darauf zu achten, dass die Dateien nicht verändert werden durch ein Checkout selbst. Hierzu ist zu prüfen, dass folgenden Git Einstellungen (`.gitconfig`) für den Checkout des Repos genutzt werden:

[source]
----
[core]
autocrlf = false
----

Dies kann mit folgenden Befehlen erreicht werden, je nachdem auf welcher Ebene die Einstellung getroffen werden soll:

[source, shell]
----
git config --system core.autocrlf false # per-system solution
git config --global core.autocrlf false # per-user solution
git config --local core.autocrlf false # per-project solution
----


=== Proxy Konfiguration für Maven (Docker)

Da der KOB-Testsuite Container während der Ausführung Maven-Artefakte bezieht, muss das Internet für den Container erreichbar sein. Sollte das Internet nur über einen Proxy-Server erreichbar sein, müssen die Einstellungen in der [./settings.xml](./settings.xml) für die Ausführung des PS-Testsuite Containers angepasst werden. Bitte beachten Sie, dass der Parameter `<active>true</active>` gesetzt werden muss, um die Einstellungen zu aktivieren und das Docker-Volume `kob-testsuite-maven` gelöscht werden muss, um die Änderungen zu übernehmen.
Expand All @@ -146,6 +184,20 @@ Dazu müssen die folgenden Einträge angepasst werden:
== Testausführung

Die KOB-Testsuite kann entweder lokal per Maven oder in einem Docker-Container ausgeführt werden.
Per Default starten momentan nur die verpflichtenden KOB-Testfälle. Ohne diesen Filter werden alle Tests ausgeführt.
Siehe `.env` Datei.
Hier können dann auch die optionalen Testfälle, wenn gewünscht, konfiguriert werden.

* `@KOB` - für den Test gegen beide Aktensysteme (Default)
* `@IBM` - für den Test gegen das IBM Aktensystem
* `@RISE` - für den Test gegen das RISE Aktensystem

Optionale Testfälle:

* `@login` - Aufbau einer User-Session bei einem der beiden Aktensysteme
* `@information-record-status` - Aktenkontolokalisierung bei einem der beiden Aktensysteme
* `@information-consent-decisions` - Abfrage der Zustimmung für ein Aktenkonto bei einem der beiden Aktensysteme
* `@entitlement` - Einstellen einer Befugnis für ein Aktenkonto bei einem der beiden Aktensysteme

=== Lokal (Maven)

Expand All @@ -154,31 +206,11 @@ Für die lokale Ausführung werden folgende Software-Versionen empfohlen:
* Maven Version >= 3.9
* JAVA Version >= 17

Ist dies gegeben, reicht ein einfaches Kommando `mvn clean install` im Root-Verzeichnis des Projekts.
Um nur die Testfälle für die KOB EPA 3.0 auszuführen, können die folgenden Befehle verwendet werden:

* `mvn clean verify -Dcucumber.filter.tags=@KOB` für den Test gegen beide Aktensysteme
* `mvn clean verify -Dcucumber.filter.tags=@IBM` für den Test gegen das IBM Aktensystem
* `mvn clean verify -Dcucumber.filter.tags=@RISE` für den Test gegen das RISE Aktensystem

Um optionale Testfälle auszuführen, können die folgenden Befehle verwendet werden:

* `mvn clean verify -Dcucumber.filter.tags=@login`
Aufbau einer User-Session bei einem der beiden Aktensysteme
* `mvn clean verify -Dcucumber.filter.tags=@information-record-status`
Aktenkontolokalisierung bei einem der beiden Aktensysteme
* `mvn clean verify -Dcucumber.filter.tags=@information-consent-decisions`
Abfrage der Zustimmung für ein Aktenkonto bei einem der beiden Aktensysteme
* `mvn clean verify -Dcucumber.filter.tags=@entitlement`
Einstellen einer Befugnis für ein Aktenkonto bei einem der beiden Aktensysteme

Ohne diesen Filter werden alle Tests ausgeführt.
Ist dies gegeben, reicht ein einfaches Kommando `mvn clean verify` im Root-Verzeichnis des Projekts.

=== Lokal (Docker)

Die Testsuite kann mit einem Docker-Compose gestartet werden.
Diese Variante startet per Default momentan nur die verpflichtenden KOB-Testfälle. Siehe `.env` Datei.
Hier können dann auch die optionalen Testfälle, wenn gewünscht, konfiguriert werden.

[source,bash]
----
Expand Down
12 changes: 12 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Release Notes KOB Testsuite

## Release 1.0.2

* Upgrade to Tiger 3.4.6
* Test execution with maven uses .env configuration to filter tests and starts with `mvn clean verify`
* Bugs
* Allow content-type text/html with specified charset in backend response for eML as XHTML (GH-21)
* Remove run.sh script due to issues during git checkout and modified line endings (GH-20)
* Corrected custom error messages
* Corrected OPTIONAL/Optional spelling, leading to a failed report upload if failing the non-KOB-testcases
* Settings.xml is mapped to maven folder .m2 of the root user
* Extended descriptions in Readme for Forward Proxy and GIT configuration (HowTo)

## Release 1.0.1

* Added corrected NO-PROXY flag for AS-Selector
Expand Down
6 changes: 2 additions & 4 deletions dc-testsuite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name: dc-testsuite-kob
services:
kob-testsuite:
image: gematik1/kob-testsuite:1.0.1
image: gematik1/kob-testsuite:1.0.2
container_name: kob-testsuite
environment:
- MAVEN_OPTS=-Dcucumber.filter.tags=${TESTSUITE_TESTS}
Expand All @@ -16,9 +16,7 @@ services:
volumes:
- ./tiger.yaml:/app/tiger.yaml:ro
- ./kob.yaml:/app/kob.yaml:ro
- ./settings.xml:/.m2/settings.xml:ro
- ./run.sh:/app/run.sh:ro
- ./pom.xml:/app/pom.xml:ro
- ./settings.xml:/root/.m2/settings.xml:ro
- kob-testsuite-maven:/.m2/repository:rw
- kob-testsuite-report:/app/report:rw
volumes:
Expand Down
13 changes: 10 additions & 3 deletions kob.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,16 @@ kob:
# Welcher Typ von EML soll heruntergeladen werden ('XHTML', 'PDF', 'FHIR')
emltype: "PDF"

testsuite:
# Die Tags, die für die Ausführung der Testsuite verwendet werden sollen. "@KOB" führt die verpflichtenden KOB-Tests aus.
tests: "@KOB"
asSelection:
- targetHost: 'epa-as-1.dev'
ips:
- "10.30.19.70"
- "10.30.18.134"
- "10.30.18.135"
- "10.30.18.136"
- "10.30.18.199"
- "10.30.18.200"
- "10.30.18.201"

##################################################################################
# Detailkonfigurationen
Expand Down
28 changes: 26 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

<groupId>de.gematik</groupId>
<artifactId>kob-testsuite</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>
<packaging>jar</packaging>
<description>KOB Testsuite fuer PS Hersteller</description>

Expand All @@ -32,7 +32,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<version.maven-surefire-plugin>3.5.2</version.maven-surefire-plugin>
<version.maven-failsafe-plugin>3.5.2</version.maven-failsafe-plugin>
<version.tiger>3.4.5</version.tiger>
<version.tiger>3.4.6</version.tiger>
<jacoco.version>0.8.12</jacoco.version>
</properties>

Expand Down Expand Up @@ -161,6 +161,27 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<useDefaultValues>true</useDefaultValues>
<!-- Ignore missing .env file e.g. docker image build step -->
<quiet>true</quiet>
<files>
<file>${project.basedir}/.env</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
Expand All @@ -171,6 +192,9 @@
else maven will try to kill and destroy the tiger spring boot apps
-->
<forkedProcessExitTimeoutInSeconds>18000</forkedProcessExitTimeoutInSeconds>
<systemPropertyVariables>
<cucumber.filter.tags>${TESTSUITE_TESTS}</cucumber.filter.tags>
</systemPropertyVariables>
</configuration>
<executions>
<execution>
Expand Down
5 changes: 0 additions & 5 deletions run.sh

This file was deleted.

Loading

0 comments on commit 106c3e1

Please sign in to comment.