From a64152d211ad70e72a9cee036aa84f15f9c1077b Mon Sep 17 00:00:00 2001
From: Martin Vogel <martin.vogel@sinc.de>
Date: Wed, 8 May 2024 10:39:24 +0200
Subject: [PATCH] refactor: adjust tests (planning#1950))

---
 .../client/bootstrap/ApplicationConfigLoaderTest.java     | 8 ++++----
 .../core/cases/SecurityEventTokenServiceTest.java         | 3 +--
 .../core/schema/SchemaResourceProviderTest.java           | 4 +---
 .../core/validation/DefaultValidationServiceTest.java     | 2 +-
 core/src/test/resources/set-schemas/set_schema_1.2.2.json | 1 +
 5 files changed, 8 insertions(+), 10 deletions(-)
 create mode 100644 core/src/test/resources/set-schemas/set_schema_1.2.2.json

diff --git a/client/src/test/java/dev/fitko/fitconnect/client/bootstrap/ApplicationConfigLoaderTest.java b/client/src/test/java/dev/fitko/fitconnect/client/bootstrap/ApplicationConfigLoaderTest.java
index 3a3be0f5c..9aa9e696d 100644
--- a/client/src/test/java/dev/fitko/fitconnect/client/bootstrap/ApplicationConfigLoaderTest.java
+++ b/client/src/test/java/dev/fitko/fitconnect/client/bootstrap/ApplicationConfigLoaderTest.java
@@ -63,9 +63,9 @@ class ApplicationConfigLoaderTest {
     void testLoadConfigViaConfigBuilder() {
 
         // Given
-        var senderConfig = new SenderConfig("1", "123");
+        final var senderConfig = new SenderConfig("1", "123");
 
-        var subscriberConfig = SubscriberConfig.builder()
+        final var subscriberConfig = SubscriberConfig.builder()
                 .clientId("2")
                 .clientSecret("123")
                 .privateDecryptionKeyPaths(List.of())
@@ -315,7 +315,7 @@ class ApplicationConfigLoaderTest {
         // Then
         assertNotNull(config);
         assertThat(config.getMetadataSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/metadata/1.2.0/metadata.schema.json")));
-        assertThat(config.getSetSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/set-payload/1.2.1/set-payload.schema.json")));
+        assertThat(config.getSetSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/set-payload/1.2.2/set-payload.schema.json")));
     }
 
     @Test
@@ -331,7 +331,7 @@ class ApplicationConfigLoaderTest {
         // Then
         assertNotNull(config);
         assertThat(config.getMetadataSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/metadata/1.2.0/metadata.schema.json")));
-        assertThat(config.getSetSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/set-payload/1.2.1/set-payload.schema.json")));
+        assertThat(config.getSetSchemaWriteVersion(), is(URI.create("https://schema.fitko.de/fit-connect/set-payload/1.2.2/set-payload.schema.json")));
     }
 
     private String getResourceAsString(final String name) throws IOException {
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/cases/SecurityEventTokenServiceTest.java b/core/src/test/java/dev/fitko/fitconnect/core/cases/SecurityEventTokenServiceTest.java
index 03c17ed7a..99fceef68 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/cases/SecurityEventTokenServiceTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/cases/SecurityEventTokenServiceTest.java
@@ -4,7 +4,6 @@ import com.nimbusds.jose.JOSEException;
 import com.nimbusds.jose.JWSAlgorithm;
 import com.nimbusds.jose.JWSVerifier;
 import com.nimbusds.jose.crypto.RSASSAVerifier;
-import com.nimbusds.jose.jwk.JWK;
 import com.nimbusds.jose.jwk.RSAKey;
 import com.nimbusds.jwt.SignedJWT;
 import dev.fitko.fitconnect.api.config.ApplicationConfig;
@@ -65,7 +64,7 @@ class SecurityEventTokenServiceTest {
         signingKey = RSAKey.parse(getResourceAsString("/private_test_signing_key.json"));
         encryptionKey = RSAKey.parse(getResourceAsString("/public_encryption_test_key.json"));
 
-        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.1.json"));
+        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.2.json"));
         final List<String> metadataSchemas = List.of(getResourceAsString("/metadata-schemas/metadata_schema_1.2.0.json"));
         final List<String> destinationSchemas = List.of(getResourceAsString("/destination-schemas/destination_schema.json"));
 
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java b/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
index dbead6cdf..23e79b16e 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
@@ -11,7 +11,6 @@ import dev.fitko.fitconnect.core.http.HttpClient;
 import dev.fitko.fitconnect.core.http.HttpResponse;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.io.CleanupMode;
 import org.junit.jupiter.api.io.TempDir;
 
 import java.io.IOException;
@@ -26,7 +25,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.equalTo;
 import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
@@ -57,7 +55,7 @@ class SchemaResourceProviderTest {
                 "https://schema.fitko.de/fim/s00000096_1.0.schema.xml", xmlSchemaPath.toString()
         );
 
-        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.1.json"));
+        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.2.json"));
         final List<String> metadataSchemas = List.of(getResourceAsString("/metadata-schemas/metadata_schema_1.2.0.json"));
         final List<String> destinationSchemas = List.of(getResourceAsString("/destination-schemas/destination_schema.json"));
 
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java b/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
index 44f339114..49ae6c1a5 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
@@ -113,7 +113,7 @@ class DefaultValidationServiceTest {
         defaultLocale = Locale.getDefault();
         Locale.setDefault(Locale.ENGLISH);
 
-        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.1.json"));
+        final List<String> setSchemas = List.of(getResourceAsString("/set-schemas/set_schema_1.2.2.json"));
         final List<String> metadataSchemas = List.of(getResourceAsString("/metadata-schemas/metadata_schema_1.2.0.json"));
         final List<String> destinationSchemas = List.of(getResourceAsString("/destination-schemas/destination_schema.json"));
 
diff --git a/core/src/test/resources/set-schemas/set_schema_1.2.2.json b/core/src/test/resources/set-schemas/set_schema_1.2.2.json
new file mode 100644
index 000000000..dc1816f95
--- /dev/null
+++ b/core/src/test/resources/set-schemas/set_schema_1.2.2.json
@@ -0,0 +1 @@
+{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://schema.fitko.de/fit-connect/set-payload/1.2.2/set-payload.schema.json","title":"Security Event Token","description":"Security Event Token (SET) nach RFC 8417","type":"object","properties":{"$schema":{"description":"URI des Schemas, dem dieser Security Event Token entspricht. Zulässig sind alle Schema-URLs mit enthaltener Version 1.x.y, wobei x und y beliebige Minor- und Patch-Versionen gemäß https://semver.org/ sein können.","type":"string","pattern":"^https://schema\\.fitko\\.de/fit-connect/set-payload/1\\.\\d+\\.\\d+/set-payload\\.schema\\.json$"},"jti":{"description":"Die JWT ID (jti) ist eine eindeutige UUID für das SET.","type":"string","format":"uuid"},"iss":{"description":"Als Issuer ('iss') wird die UUID der Destination eingetragen. Bei vom Zustelldienst ausgestellten SETs steht dort die Basis-URL des Zustelldienstes.","type":"string"},"iat":{"description":"The 'iat' (issued at) claim identifies the time at which the JWT was issued.","type":"integer","minimum":1577833200},"sub":{"description":"Beschreibt, ob das SET eine Submission oder einen Reply betrifft.","type":"string","pattern":"^(submission|reply):[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"txn":{"description":"Der Transaction Identifier ('txn') enthält 'case:' und die UUID des Cases.","type":"string","pattern":"^case:[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"},"events":{"title":"Events","description":"Enthält genau eines der spezifizierten Events als Unterobjekt.","type":"object","properties":{"https://schema.fitko.de/fit-connect/events/create-submission":{"title":"Create Submission Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass eine Einreichung angelegt wurde.","type":"object"},"https://schema.fitko.de/fit-connect/events/submit-submission":{"title":"Submit Submission Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung abgesendet wurde.","type":"object","properties":{"authenticationTags":{"$ref":"#/$defs/authenticationTagsSubmission"}},"required":["authenticationTags"]},"https://schema.fitko.de/fit-connect/events/notify-submission":{"title":"Notify Submission Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass das empfangende System Kenntnis von der Einreichung erlangt hat. Wie dies erfolgt ist, wird mit dem Eintrag `notifyType` dokumentiert.","type":"object","properties":{"notifyType":{"type":"string","enum":["callback","polling"]}},"required":["notifyType"]},"https://schema.fitko.de/fit-connect/events/forward-submission":{"title":"Forward Submission Event","description":"Mit diesem Event dokumentiert ein nachgelagertes System, dass es die Einreichung zur Weiterleitung übernommen hat.","type":"object","deprecated":true},"https://schema.fitko.de/fit-connect/events/reject-submission":{"title":"Reject Submission Event","description":"Mit diesem Event dokumentiert das empfangende System, dass die Einreichung zurückgewiesen wird.","type":"object","properties":{"problems":{"$ref":"#/$defs/problems"}},"required":["problems"]},"https://schema.fitko.de/fit-connect/events/accept-submission":{"title":"Accept Submission Event","description":"Mit diesem Event dokumentiert das empfangende System, dass die Einreichung akzeptiert wurde.","type":"object","properties":{"problems":{"$ref":"#/$defs/problems"},"authenticationTags":{"$ref":"#/$defs/authenticationTagsSubmission"}},"required":["authenticationTags"]},"https://schema.fitko.de/fit-connect/events/delete-submission":{"title":"Delete Submission Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Einreichung gelöscht wurde.","type":"object"},"https://schema.fitko.de/fit-connect/events/create-reply":{"title":"Create Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass eine Antwort angelegt wurde.","type":"object"},"https://schema.fitko.de/fit-connect/events/submit-reply":{"title":"Submit Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Antwort abgesendet wurde.","type":"object","properties":{"authenticationTags":{"$ref":"#/$defs/authenticationTagsReply"}},"required":["authenticationTags"]},"https://schema.fitko.de/fit-connect/events/notify-reply":{"title":"Notify Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass das sendende System Kenntnis von der Antwort erlangt hat. Wie dies erfolgt ist, wird mit dem Eintrag `notifyType` dokumentiert.","type":"object","properties":{"notifyType":{"type":"string","enum":["callback","polling"]}},"required":["notifyType"]},"https://schema.fitko.de/fit-connect/events/reject-reply":{"title":"Reject Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Antwort zurückgewiesen wird.","type":"object","properties":{"problems":{"$ref":"#/$defs/problems"}},"required":["problems"]},"https://schema.fitko.de/fit-connect/events/accept-reply":{"title":"Accept Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Antwort akzeptiert wurde.","type":"object","properties":{"problems":{"$ref":"#/$defs/problems"},"authenticationTags":{"$ref":"#/$defs/authenticationTagsReply"}},"required":["authenticationTags"]},"https://schema.fitko.de/fit-connect/events/delete-reply":{"title":"Delete Reply Event","description":"Mit diesem Event dokumentiert der Zustelldienst, dass die Antwort gelöscht wurde.","type":"object"}},"additionalProperties":false,"minProperties":1,"maxProperties":1}},"additionalProperties":false,"required":["$schema","jti","iss","iat","sub","txn","events"],"$defs":{"authenticationTagsSubmission":{"title":"Authentication Tags (Submission)","description":"Authentication Tags des Meta- und Fachdatensatzes sowie der Anlagen einer Submission.","type":"object","properties":{"metadata":{"$ref":"#/$defs/authenticationTag"},"data":{"$ref":"#/$defs/authenticationTag"},"attachments":{"$ref":"#/$defs/attachment"}},"additionalProperties":false,"required":["metadata"],"definitions":{"authenticationTag":{"$ref":"#/$defs/authenticationTag"},"attachment":{"$ref":"#/$defs/attachment"}}},"authenticationTagsReply":{"title":"Authentication Tags (Reply)","description":"Authentication Tags des Meta- und Fachdatensatzes sowie der Anlagen eines Replies","type":"object","properties":{"metadata":{"$ref":"#/$defs/authenticationTag"},"data":{"$ref":"#/$defs/authenticationTag"},"attachments":{"$ref":"#/$defs/attachment"}},"additionalProperties":false,"required":["metadata","data"],"definitions":{"authenticationTag":{"$ref":"#/$defs/authenticationTag"},"attachment":{"$ref":"#/$defs/attachment"}}},"problems":{"title":"Problems","description":"Liste von Validierungsproblemen.","type":"array","items":{"type":"object","properties":{"type":{"description":"Fehlercode in Form einer URI.","type":"string","pattern":"^https:\\/\\/schema\\.fitko\\.de\\/fit-connect\\/events\\/problems\\/[-a-z]+$"},"title":{"description":"Für Menschen verständliche Fehlermeldung","type":"string"},"detail":{"description":"Details zum Fehler, z.B. eine technische Fehlermeldung (optional)","type":"string"},"instance":{"description":"Betroffener Teil der Übertragung. Mögliche Werte: `data`, `metadata`, `attachment:` + UUID des Attachments, `reply`, `submission` oder `other`.","type":"string","pattern":"^(data|metadata|attachment:[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[4][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}|reply|submission|other)$"}},"required":["type","title","instance"]}},"authenticationTag":{"title":"Authentication Tag","description":"Struktur eines einzelnen Authentication Tags","type":"string","pattern":"^[a-zA-Z0-9-_=]+$","minLength":22,"maxLength":86},"attachment":{"title":"Attachment","type":"object","patternProperties":{"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$":{"$ref":"#/$defs/authenticationTag"}},"additionalProperties":false}}}
\ No newline at end of file
-- 
GitLab