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