diff --git a/fim-adapter/pom.xml b/fim-adapter/pom.xml index 9004001222dffa6e4bc80efde9719388b349de93..b4b5c47a1be5c5af6a36c413d34b9b2f1551f920 100644 --- a/fim-adapter/pom.xml +++ b/fim-adapter/pom.xml @@ -4,7 +4,7 @@ <parent> <groupId>de.ozgcloud.eingang</groupId> <artifactId>eingang-manager</artifactId> - <version>2.8.0-SNAPSHOT</version> + <version>2.9.0-SNAPSHOT</version> </parent> <artifactId>fim-adapter</artifactId> <name>Eingangs Adapter - FIM</name> @@ -30,7 +30,6 @@ <artifactId>spring-boot-starter-actuator</artifactId> </dependency> - <!--test --> <dependency> <groupId>de.ozgcloud.eingang</groupId> @@ -38,10 +37,6 @@ <type>test-jar</type> <scope>test</scope> </dependency> - <dependency> - <groupId>de.ozgcloud.eingang</groupId> - <artifactId>semantik-adapter</artifactId> - </dependency> </dependencies> <build> @@ -67,28 +62,4 @@ </plugin> </plugins> </build> - - <profiles> - <profile> - <id>ci-build</id> - <build> - <plugins> - <plugin> - <groupId>org.springframework.boot</groupId> - <artifactId>spring-boot-maven-plugin</artifactId> - <executions> - <execution> - <id>build-image</id> - <phase> - install</phase> - <goals> - <goal>build-image</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> </project> diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java index f3ddf3f6ca65c7c933185b1ff417d498c4bc8cfe..8a39d4cabf5a46155f2996da0c33b2a3fe4031ed 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimBasedMapper.java @@ -6,7 +6,7 @@ import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; import de.ozgcloud.eingang.semantik.enginebased.EngineBasedMapper; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; +import org.springframework.stereotype.Component; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -19,14 +19,17 @@ import java.util.List; import java.util.Optional; @Log4j2 -@Service -public class FimBasedMapper implements EngineBasedMapper { +@Component +class FimBasedMapper implements EngineBasedMapper { @Autowired private FimService fimService = null; public boolean isResponsible(final FormData formData) { - return true; + //FIXME isResponsible from meta data + final List<IncomingFileGroup> attachments = formData.getAttachments(); + final Optional<IncomingFile> metadataFileOpt = findFile(attachments, "fim_xtaMetadata.xml"); + return metadataFileOpt.isPresent(); } public FormData parseFormData(final FormData initialFormData) { diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..ebe019d570f3f7ac5294757d034655fecfa7741c --- /dev/null +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimConfig.java @@ -0,0 +1,18 @@ +package de.ozgcloud.eingang.fim; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +@Configuration +@EnableConfigurationProperties +@ConfigurationProperties(prefix = "fim") +@Getter +public class FimConfig { + + private final List<String> schemeLocations = new ArrayList<>(); +} diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java index 8a212c42a891e3fca77be2de400f26def4481079..799798b5cc151c199a7b80534d7d834f1fb6c746 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimDataMapper.java @@ -18,7 +18,7 @@ import java.util.Optional; @Service @Log4j2 -public class FimDataMapper implements TriFunction<Document, FimScheme, Collection<IncomingFileGroup>, FormData.FormDataBuilder> { +class FimDataMapper implements TriFunction<Document, FimScheme, Collection<IncomingFileGroup>, FormData.FormDataBuilder> { private static final String LABEL_KEY = "label"; private static final String VALUE_KEY = "value"; diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimException.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimException.java index 5d2cf83c9efd7ebbbb35640fe2d61dba5da8d27b..ec25fcb3101f859b275fc917516449e1a422e95c 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimException.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimException.java @@ -1,6 +1,8 @@ package de.ozgcloud.eingang.fim; -public class FimException extends RuntimeException { +import de.ozgcloud.eingang.common.errorhandling.TechnicalException; + +public class FimException extends TechnicalException { public FimException(final String ex) { super(ex); } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java index 49591924c9a0371f804b756ec79fa53f0308a287..e1dd10f4ef47b64c48867b352cb3058f40779838 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimScheme.java @@ -11,7 +11,7 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Optional; -public class FimScheme { +class FimScheme { private final Document doc; @Getter @@ -37,7 +37,7 @@ public class FimScheme { } } - public Optional<String> getFieldName(final String fieldName) { + Optional<String> getFieldName(final String fieldName) { return schemeAdapter.getFieldName(fieldIndex, fieldName); } } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java index 0e83f7bfc27b4c0b74c96d6345914a3f16a0a2e8..3b178d3a696cca0e9864b439f9ec538e75cd60e6 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeAdapterCatalogue.java @@ -3,6 +3,5 @@ package de.ozgcloud.eingang.fim; import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter; import java.util.LinkedHashMap; - -public class FimSchemeAdapterCatalogue extends LinkedHashMap<FimSchemeIdentifier, FimSchemeAdapter> { +class FimSchemeAdapterCatalogue extends LinkedHashMap<FimSchemeIdentifier, FimSchemeAdapter> { } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeCatalogue.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeCatalogue.java index d7cca74faee98eb222c03ec8c0326f3c00671951..5c53c1ae7ce88a6389ad60bff758df73a9ddd8ce 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeCatalogue.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeCatalogue.java @@ -2,5 +2,5 @@ package de.ozgcloud.eingang.fim; import java.util.LinkedHashMap; -public class FimSchemeCatalogue extends LinkedHashMap<FimSchemeIdentifier, FimScheme> { +class FimSchemeCatalogue extends LinkedHashMap<FimSchemeIdentifier, FimScheme> { } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeIdentifier.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeIdentifier.java index 357219d1e22433f2bb3f3469ab1a0a441c0586a7..3f2222a484a57be97508f53d78b6f6bd9c074381 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeIdentifier.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimSchemeIdentifier.java @@ -1,7 +1,8 @@ package de.ozgcloud.eingang.fim; -import java.util.Objects; +import lombok.EqualsAndHashCode; +@EqualsAndHashCode public class FimSchemeIdentifier { private final String schemeId; @@ -13,18 +14,4 @@ public class FimSchemeIdentifier { public static FimSchemeIdentifier fromString(final String s) { return new FimSchemeIdentifier(s); } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - FimSchemeIdentifier that = (FimSchemeIdentifier) o; - return Objects.equals(schemeId, that.schemeId); - } - - @Override - public int hashCode() { - return Objects.hash(schemeId); - } - } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java index 40415f23e106adb3323b3725ac26383ff7770857..3c558016bc480275e4f5d316c81336de7890003f 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/FimService.java @@ -3,10 +3,9 @@ package de.ozgcloud.eingang.fim; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.fim.adapter.FimSchemeAdapter; import io.micrometer.common.util.StringUtils; +import jakarta.annotation.PostConstruct; import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -21,14 +20,14 @@ import java.util.List; @Service @Log4j2 -public class FimService implements InitializingBean { +public class FimService { public static final String UNKNOWN_SCHEME_NAME = "unknown"; @Autowired - private final FimDataMapper fimDataMapper = null; + private final FimConfig fimConfig = null; - @Value("${fim.scheme.locations}") - private final String fimSchemes = null; + @Autowired + private final FimDataMapper fimDataMapper = null; @Autowired private final List<FimSchemeAdapter> fimSchemeAdapters = new ArrayList<>(); @@ -36,13 +35,17 @@ public class FimService implements InitializingBean { private final FimSchemeCatalogue fimSchemeCatalogue = new FimSchemeCatalogue(); private final FimSchemeAdapterCatalogue fimSchemeAdapterCatalogue = new FimSchemeAdapterCatalogue(); - private static final FimSchemeAdapter DEFAULT_FIM_SCHEME_ADAPTER = new FimSchemeAdapter(); + private static final FimSchemeAdapter DEFAULT_FIM_SCHEME_ADAPTER = new FimSchemeAdapter() { + @Override + public FimSchemeIdentifier forIdentifier() { return null; } + }; - public void afterPropertiesSet() throws ParserConfigurationException, IOException, SAXException { + @PostConstruct + private void postConstruct() throws ParserConfigurationException, IOException, SAXException { for (final FimSchemeAdapter fimSchemeAdapter : fimSchemeAdapters) { fimSchemeAdapterCatalogue.put(fimSchemeAdapter.forIdentifier(), fimSchemeAdapter); } - for (final String fimSchemaLocation : fimSchemes.split(",")) { + for (final String fimSchemaLocation : fimConfig.getSchemeLocations()) { final FimScheme fimScheme = loadFimScheme(fimSchemaLocation.trim()); fimSchemeCatalogue.put(fimScheme.getIdentifier(), fimScheme); } @@ -85,7 +88,7 @@ public class FimService implements InitializingBean { return builder.build(); } - public FimScheme getSchemeForIdentifier(final String fimSchemaName) { + protected FimScheme getSchemeForIdentifier(final String fimSchemaName) { final FimSchemeIdentifier fimSchemeIdentifier = FimSchemeIdentifier.fromString(fimSchemaName); final FimScheme fimScheme = fimSchemeCatalogue.get(fimSchemeIdentifier); if (fimScheme == null) { diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java new file mode 100644 index 0000000000000000000000000000000000000000..fa19e1bbfe19ab1e4d4d50119b86de8a4c911be5 --- /dev/null +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/AntragstellerExtractor.java @@ -0,0 +1,8 @@ +package de.ozgcloud.eingang.fim.adapter; + +import de.ozgcloud.eingang.common.formdata.FormData; + +public interface AntragstellerExtractor { + + default void extractAntragsteller(final FormData.FormDataBuilder builder, final FormData initialFormData) {} +} diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java index 45d4cbeb6bdcffda2fb1d4ee55bb3a7aec362f6a..6ea4356b10f63cadc639d2237b3e2d8e023b6033 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/FimSchemeAdapter.java @@ -1,9 +1,7 @@ package de.ozgcloud.eingang.fim.adapter; -import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.fim.FimSchemeIdentifier; import lombok.extern.log4j.Log4j2; -import org.apache.commons.lang3.NotImplementedException; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @@ -11,14 +9,9 @@ import java.util.Map; import java.util.Optional; @Log4j2 -public class FimSchemeAdapter { +public abstract class FimSchemeAdapter implements ZustaendigeStelleExtractor, AntragstellerExtractor { - public FimSchemeIdentifier forIdentifier() { - throw new NotImplementedException("Shouldn't call forIdentifier on FimSchemeAdapter. Must overwrite method"); - } - public String cleanNodeName(final String s) { - return s.trim(); - } + public abstract FimSchemeIdentifier forIdentifier(); public Optional<String> getFieldName(final Map<String, Element> fieldIndex, final String fieldName) { final String[] fieldNameParts = fieldName.split(":"); @@ -40,9 +33,7 @@ public class FimSchemeAdapter { return Optional.ofNullable(nameTags.item(0).getTextContent()); } - public void extractAntragsteller(final FormData.FormDataBuilder builder, final FormData initialFormData) { - } - - public void extractZustaendigeStelle (final FormData.FormDataBuilder builder, final FormData initialFormData) { + public String cleanNodeName(final String s) { + return s.trim(); } } diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/VersammlungsAnzeigeAdapter.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/VersammlungsAnzeigeAdapter.java index 92411fcbe39d8dbea939a4ec19ab505f03685b5f..48e0b6e8d1cb6a669f4db1402a068e0c69da9c6f 100644 --- a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/VersammlungsAnzeigeAdapter.java +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/VersammlungsAnzeigeAdapter.java @@ -13,8 +13,10 @@ import java.util.Optional; @Service public class VersammlungsAnzeigeAdapter extends FimSchemeAdapter { + private static final String VERSAMMLUNGSANZEIGE_V_1_4_IDENTIFIER = "urn:xoev-de:xfall:standard:fim-s17000652_1.4"; + public FimSchemeIdentifier forIdentifier() { - return FimSchemeIdentifier.fromString("urn:xoev-de:xfall:standard:fim-s17000652_1.4"); + return FimSchemeIdentifier.fromString(VERSAMMLUNGSANZEIGE_V_1_4_IDENTIFIER); } @Override @@ -23,9 +25,8 @@ public class VersammlungsAnzeigeAdapter extends FimSchemeAdapter { } @Override - public void extractAntragsteller(final FormData.FormDataBuilder builder, final FormData initialFormData) { - // FIXME sollte über formdata metadaten kommen + // FIXME sollte über fim data kommen. zunächst mocked data builder.antragsteller(Antragsteller.builder() .anrede("Frau") .vorname("Erika") @@ -42,7 +43,6 @@ public class VersammlungsAnzeigeAdapter extends FimSchemeAdapter { } @Override - public void extractZustaendigeStelle (final FormData.FormDataBuilder builder, final FormData initialFormData) { // FIXME sollte über formdata metadaten kommen builder.zustaendigeStelle(ZustaendigeStelle.builder() diff --git a/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java new file mode 100644 index 0000000000000000000000000000000000000000..e8d3446afecba810c6af91c7e6018f2b517ce343 --- /dev/null +++ b/fim-adapter/src/main/java/de/ozgcloud/eingang/fim/adapter/ZustaendigeStelleExtractor.java @@ -0,0 +1,7 @@ +package de.ozgcloud.eingang.fim.adapter; + +import de.ozgcloud.eingang.common.formdata.FormData; + +public interface ZustaendigeStelleExtractor { + default void extractZustaendigeStelle (final FormData.FormDataBuilder builder, final FormData initialFormData) {} +} diff --git a/fim-adapter/src/main/resources/application-local.yml b/fim-adapter/src/main/resources/application-local.yml deleted file mode 100644 index 1a493ac915649ada101d24a2374ca06690101907..0000000000000000000000000000000000000000 --- a/fim-adapter/src/main/resources/application-local.yml +++ /dev/null @@ -1,21 +0,0 @@ -logging: - config: classpath:log4j2-local.xml - -server: - port: 9293 - error: - include-stacktrace: always - -management: - server.port: 8084 - -ozgcloud: - adapter: - targetVorgangManagerName: local - fallbackStrategy: DENY - -grpc: - client: - vorgang-manager-local: - address: static://127.0.0.1:9090 - negotiationType: PLAINTEXT diff --git a/fim-adapter/src/main/resources/application.yml b/fim-adapter/src/main/resources/application.yml index fcf5b2381be6c3742b443693906e683ca85b29e2..c52241b27c1372ce3e347313c23d3cf710766e15 100644 --- a/fim-adapter/src/main/resources/application.yml +++ b/fim-adapter/src/main/resources/application.yml @@ -1,50 +1,3 @@ -logging: - level: - ROOT: WARN - '[de.ozgcloud]': INFO - -spring: - profiles: - include: fim - servlet: - multipart: - max-file-size: 124MB - max-request-size: 256MB - file-size-threshold: 10MB - -server: - http2: - enabled: true - error: - include-stacktrace: never - -management: - server: - port: 9999 - health: - livenessState: - enabled: true - readinessState: - enabled: true - endpoint: - health: - group: - exploratory: - include: livenessState,readinessState,ping - show-details: always - probes: - enabled: true - prometheus: - enabled: true - endpoints: - web: - exposure: - include: health,prometheus - -ozgcloud: - adapter: - routingStrategy: SINGLE - fim: - scheme: - locations: src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd \ No newline at end of file + schemeLocations: + - src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd \ No newline at end of file diff --git a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceTest.java b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceITCase.java similarity index 89% rename from fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceTest.java rename to fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceITCase.java index 29b0157d07010bbbb4504027fb465f4daed1a14a..104d928e03f4ac1779ec5b425cab9511a5b8ad10 100644 --- a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceTest.java +++ b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimServiceITCase.java @@ -4,11 +4,12 @@ import de.ozgcloud.common.test.ITCase; import de.ozgcloud.eingang.common.formdata.FormData; import de.ozgcloud.eingang.common.formdata.IncomingFile; import de.ozgcloud.eingang.common.formdata.IncomingFileGroup; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.autoconfigure.ImportAutoConfiguration; + +import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; + import org.w3c.dom.Document; import org.xml.sax.SAXException; @@ -18,50 +19,48 @@ import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; import java.util.Map; +import org.junit.jupiter.api.Test; -import static org.junit.Assert.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; -@ConfigurationProperties -@ActiveProfiles("test") @ITCase -public class FimServiceTest { +@ActiveProfiles({ "itcase", "test" }) +@ImportAutoConfiguration +@SpringBootTest(classes= FimTestConfig.class) +public class FimServiceITCase { @Autowired - private FimService fimService = null; + private FimService fimService; @Autowired - private FimBasedMapper fimBasedMapper = null; + private FimBasedMapper fimBasedMapper; @Test void shouldFailOnEmptyScheme() { - Exception exception = assertThrows(FimException.class, () -> { + assertThatThrownBy(() -> { final Document document = loadDocument("src/test/resources/test1.xml"); fimService.transformDocument(document, FormData.builder().build()); - }); - - String expectedMessage = "XML Document does not provide a scheme"; - String actualMessage = exception.getMessage(); - - assertEquals(expectedMessage, actualMessage); + }).isInstanceOf(FimException.class).hasMessage("XML Document does not provide a scheme"); } @Test void shouldNoFindInvalidScheme() { final FimScheme scheme = fimService.getSchemeForIdentifier("test"); - assertEquals(FimSchemeIdentifier.fromString("unknown"), scheme.getIdentifier()); + assertThat(FimSchemeIdentifier.fromString("unknown")).isEqualTo(scheme.getIdentifier()); } @Test void shouldFindVersammlungsScheme() { final FimScheme scheme = fimService.getSchemeForIdentifier("urn:xoev-de:xfall:standard:fim-s17000652_1.4"); - assertNotNull(scheme); + assertThat(scheme).isNotNull(); } @Test void shouldFindTest2Scheme() { final FimScheme scheme = fimService.getSchemeForIdentifier("test2"); - assertNotNull(scheme); + assertThat(scheme).isNotNull(); } @Test @@ -73,7 +72,7 @@ public class FimServiceTest { "xs:fim.S1235", Map.of("label", "Testkey", "value", "Testvalue"), "xs:fim.S1236", Map.of("label", "xs:fim.S1236", "value", "Testvalue 2") ); - Assertions.assertEquals(expected, formData.getFormData()); + assertThat(expected).isEqualTo(formData.getFormData()); } @Test @@ -81,7 +80,7 @@ public class FimServiceTest { final Document document = loadDocument("src/test/resources/S17000652V1.4_test01.xml"); FormData formData = fimService.transformDocument(document, FormData.builder().build()); - assertNotNull(formData); + assertThat(formData).isNotNull(); final Map<String, Object> expected = Map.of( "xfd:G17003529", Map.of( @@ -126,11 +125,11 @@ public class FimServiceTest { "xfd:F17003371", Map.of("label", "Anzeigenart", "value", "String") ); - assertEquals(expected, formData.getFormData()); + assertThat(expected).isEqualTo(formData.getFormData()); } @Test - void shouldFallbackUnknownScheme() throws ParserConfigurationException, IOException, SAXException { + void shouldFallbackUnknownScheme() { final FormData initialFormData = FormData.builder().attachment( IncomingFileGroup.builder() .file(IncomingFile.builder().name("src/test/resources/test3/Antrag.xml").file(new File("src/test/resources/test3/Antrag.xml")).build()) @@ -138,7 +137,7 @@ public class FimServiceTest { FormData formData = fimBasedMapper.parseFormData(initialFormData); - assertNotNull(formData); + assertThat(formData).isNotNull(); final Map<String, Object> expected = Map.of( "xfd:G17003529", Map.of( @@ -183,7 +182,7 @@ public class FimServiceTest { "xfd:F17003371", Map.of("label", "xfd:F17003371", "value", "String") ); - assertEquals(expected, formData.getFormData()); + assertThat(expected).isEqualTo(formData.getFormData()); } private Document loadDocument(final String path) throws ParserConfigurationException, IOException, SAXException { @@ -194,7 +193,4 @@ public class FimServiceTest { private Map<String, Object> map(final Object o) { return (Map<String, Object>) o; } - private String mapValue(final Object o) { - return (String) map(o).get("value"); - } } diff --git a/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimTestConfig.java b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimTestConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..f0a28ec4b7be509a0de6663720ab2f2964546065 --- /dev/null +++ b/fim-adapter/src/test/java/de/ozgcloud/eingang/fim/FimTestConfig.java @@ -0,0 +1,11 @@ +package de.ozgcloud.eingang.fim; + +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableAutoConfiguration +@ComponentScan("de.ozgcloud.eingang.fim") +public class FimTestConfig { +} diff --git a/fim-adapter/src/test/resources/application-test.yml b/fim-adapter/src/test/resources/application-test.yml index b4c9d0bac20656dfcb8bc6d48897385ace6f7fd0..62a350e59592d16174ebee0bfd9d261b9f4e4942 100644 --- a/fim-adapter/src/test/resources/application-test.yml +++ b/fim-adapter/src/test/resources/application-test.yml @@ -1,3 +1,4 @@ fim: - scheme: - locations: src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd, src/test/resources/test2/test2.xsd \ No newline at end of file + schemeLocations: + - src/main/resources/fim-s17000652_1.4/S17000652V1.4_xfall.xsd + - src/test/resources/test2/test2.xsd \ No newline at end of file