diff --git a/Dockerfile b/Dockerfile
index c8451db..bf38e2b 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -35,17 +35,20 @@ LABEL de.gematik.vendor="gematik GmbH" \
de.gematik.commit-sha=$COMMIT_HASH \
de.gematik.version=$VERSION
-
COPY . /app
-COPY downloadDeps.sh /app
+WORKDIR /app
-RUN mkdir -p /app/report
+RUN mkdir /app/report
-# Default Working directory
-WORKDIR /app
+RUN /usr/sbin/adduser -D kobtest
+RUN chown -R kobtest /app
+USER kobtest
+
+COPY downloadDeps.sh /app
RUN ./downloadDeps.sh
-RUN rm -f ./downloadDeps.sh
+RUN rm -f /app/downloadDeps.sh
# Command to be executed.
ENTRYPOINT ["bash", "-c", "rm -rf /app/report/* ; mvn clean verify || true ; mv -v /app/target/*report.zip /app/report/"]
+
diff --git a/README.adoc b/README.adoc
index 0a19f10..85bb9f6 100644
--- a/README.adoc
+++ b/README.adoc
@@ -279,7 +279,10 @@ Loggen Sie sich in Ihren Account auf dem Titus Bestätigungsportal (https://titu
image::/doc/img/upload_dialog_titus.png[Upload Dialog in TITUS]
-Fragen zum Titus-Bestätigungsportal und zur Durchführung des KOB Verfahrens können Sie über unseren Servicedesk einstellen: https://service.gematik.de/servicedesk/customer/portal/26/group/36
+Weitere Hinweise zur Handlungsanweisung für die Konformitätsbewertung (KOB) können im Service Desk nachgelesen werden:
+ https://service.gematik.de/servicedesk/customer/kb/view/459882847
+
+Fragen zum Titus-Bestätigungsportal und zur Durchführung des KOB Verfahrens können Sie ebenfalls über unseren Service Desk einstellen: https://service.gematik.de/servicedesk/customer/portal/26/group/36
== Troubleshooting / FAQs
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 22401ca..23a5efc 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -1,5 +1,14 @@
# Release Notes KOB Testsuite
+## Release 1.0.4
+
+* Upgrade to Tiger 3.6.0
+ * see [release notes](https://github.com/gematik/app-Tiger/blob/master/ReleaseNotes.md) for details
+ * Bugs
+ * During a TLS-Handshake the Tiger-Proxy no longer signals HTTP/2-support in the ALPN
+* Docker container now uses the user “kobtest” (non-root)
+* Updated PS test driver openAPI
+
## Release 1.0.3
* Updated
diff --git a/dc-testsuite.yml b/dc-testsuite.yml
index f2b5169..858a63d 100644
--- a/dc-testsuite.yml
+++ b/dc-testsuite.yml
@@ -2,7 +2,7 @@
name: dc-testsuite-kob
services:
kob-testsuite:
- image: gematik1/kob-testsuite:1.0.3
+ image: gematik1/kob-testsuite:1.0.4
container_name: kob-testsuite
environment:
- MAVEN_OPTS=-Dcucumber.filter.tags=${TESTSUITE_TESTS}
@@ -16,8 +16,8 @@ services:
volumes:
- ./tiger.yaml:/app/tiger.yaml:ro
- ./kob.yaml:/app/kob.yaml:ro
- - ./settings.xml:/root/.m2/settings.xml:ro
- - kob-testsuite-maven:/.m2/repository:rw
+ - ./settings.xml:/home/kobtest/.m2/settings.xml:ro
+ - kob-testsuite-maven:/home/kobtest/.m2/repository:rw
- kob-testsuite-report:/app/report:rw
volumes:
kob-testsuite-maven:
diff --git a/kob.yaml b/kob.yaml
index fab38e2..38dc9a8 100644
--- a/kob.yaml
+++ b/kob.yaml
@@ -1,6 +1,6 @@
kob:
# Die URL der Testtreiberschnittstelle des Primärsystems
- psurl: "http://localhost:8080"
+ psurl: "http://ps-sim:8080"
# Die URL der Mock-Aktensysteme. Standard ist 127.0.0.1, für docker-runs sollte host.docker.internal verwendet werden.
asurl: "https://localhost:8443"
# Soll die Testtreiberschnittstelle des Primärsystems verwendet werden?
diff --git a/pom.xml b/pom.xml
index b5d94e8..482f042 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
de.gematik
kob-testsuite
- 1.0.3
+ 1.0.4
jar
KOB Testsuite fuer PS Hersteller
@@ -32,7 +32,7 @@
UTF-8
3.5.2
3.5.2
- 3.4.6
+ 3.6.0
0.8.12
@@ -41,7 +41,7 @@
ch.qos.logback
logback-classic
- 1.5.12
+ 1.5.16
@@ -56,7 +56,7 @@
com.fasterxml.jackson.core
jackson-databind
- 2.18.1
+ 2.18.2
javax.annotation
diff --git a/src/main/resources/psTestdriver.yaml b/src/main/resources/psTestdriver.yaml
index adfd460..22be2af 100644
--- a/src/main/resources/psTestdriver.yaml
+++ b/src/main/resources/psTestdriver.yaml
@@ -14,6 +14,21 @@ tags:
servers:
- url: 'http'
paths:
+ /system/start:
+ post:
+ summary: Start the Primärsystem
+ tags:
+ - Optional
+ operationId: start-primaersystem
+ responses:
+ '201':
+ $ref: '#/components/responses/action-created'
+ '400':
+ $ref: '#/components/responses/bad-request'
+ '500':
+ $ref: '#/components/responses/server-error'
+ '501':
+ $ref: '#/components/responses/not-implemented'
/system/reset:
post:
summary: Resets the Primärsystem. This operation is used to reset the Primärsystem to a clean state. More detail
@@ -120,6 +135,25 @@ paths:
description: Action not found
'500':
description: Internal server error
+ delete:
+ summary: Delete an action by its id
+ tags:
+ - Mandatory
+ operationId: delete-action
+ parameters:
+ - name: id
+ in: path
+ required: true
+ schema:
+ type: string
+ format: uuid
+ responses:
+ '204':
+ description: Action deleted
+ '404':
+ description: Action not found
+ '500':
+ description: Internal server error
/actions/{id}/screenshot:
get:
summary: Take a representative screenshot of the current state of the application. This
@@ -162,11 +196,15 @@ components:
$ref: '#/components/schemas/status'
type:
type: string
- enum: [ 'retrieve-eml','reset-primaersystem','insert-egk' ]
+ enum: [ 'retrieve-eml','start-primaersystem','insert-egk' ]
description: Type of the action
requestUrl:
type: string
description: URL of the initial request
+ retrieveEmlData:
+ type: object
+ additionalProperties: true
+ description: Additional data relevant to an 'retrieve-eml' action
error:
$ref: '#/components/schemas/error-message'
error-message:
@@ -178,10 +216,10 @@ components:
id:
type: string
format: uuid
- description: Identifier for the specific error (Can be used to look up the error in a log file)
+ description: Identifier for the specific error (Could be used to look up the error in a log file)
details:
type: string
- description: Detailed error message (Should be useful for the PS-developers)
+ description: Detailed error message
required:
- message
- id
@@ -214,9 +252,8 @@ components:
description: Forget all data associated with the given KVNRs.
kvnr:
type: string
- pattern: '^[A-Z][0-9]{10}$'
- description: Krankenversicherungsnummer (KVNR). Dies ist nur die Nummer des Versicherten, nicht die gesamte KVNR.
- example: Z1234567890
+ pattern: '^[A-Z][0-9]{19-30}$'
+ description: Krankenversicherungsnummer (KVNR)
eml-type:
type: string
enum: [ 'xhtml', 'pdf', 'fhir' ]
diff --git a/src/test/java/de/gematik/test/tiger/glue/KobTestdriverGlueCode.java b/src/test/java/de/gematik/test/tiger/glue/KobTestdriverGlueCode.java
index daefc59..ef40bb2 100644
--- a/src/test/java/de/gematik/test/tiger/glue/KobTestdriverGlueCode.java
+++ b/src/test/java/de/gematik/test/tiger/glue/KobTestdriverGlueCode.java
@@ -16,6 +16,7 @@
package de.gematik.test.tiger.glue;
+import static de.gematik.test.psTestdriver.dto.Status.SUCCESSFUL;
import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await;
@@ -162,7 +163,7 @@ private void executeActionAndWaitForCompletion(Object body, String url) {
lastActionExecuted = action;
assertThat(retrieveActionStatus(action.getId()).getStatus())
- .isEqualTo(TestExecutionResult.Status.SUCCESSFUL);
+ .isEqualTo(SUCCESSFUL);
}
private Action postObject(Object body, String actionUrl, String method) {
@@ -195,6 +196,6 @@ private Action retrieveActionStatus(UUID id) {
}
private boolean isCompleted(Status status) {
- return status == Status.FAILED || status == Status.SUCCESSFUL;
+ return status == Status.FAILED || status == SUCCESSFUL;
}
}