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; } }