From 43e70822dc0bdb9a5388adf3a062cade6ff5e5cc Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Thu, 25 Apr 2024 09:53:21 +0200
Subject: [PATCH] OZG-5367 outsource bayernid-proxy

---
 Jenkinsfile                                   |  94 +---
 .../bayernid-proxy-impl/pom.xml               | 228 --------
 .../bayernid/proxy/BayernIdProperties.java    |  46 --
 .../proxy/BayernIdProxyApplication.java       |  43 --
 .../proxy/BayernIdProxyConfiguration.java     |  88 ---
 .../proxy/BayernIdProxyGrpcService.java       |  43 --
 .../bayernid/proxy/BayernIdProxyService.java  |  43 --
 .../proxy/DeleteOnCloseInputStream.java       |  46 --
 .../bayernid/proxy/UploadStreamObserver.java  | 153 ------
 .../proxy/akdb/BayernIdRemoteService.java     |  91 ----
 .../proxy/errorhandling/ExceptionHandler.java |  74 ---
 .../bayernid/proxy/message/Absender.java      |  42 --
 .../bayernid/proxy/message/Attachment.java    |  39 --
 .../proxy/message/BayernIdMessage.java        |  46 --
 .../proxy/message/BayernIdMessageMapper.java  | 115 ----
 .../proxy/message/BayernIdResponse.java       |  37 --
 .../bayernid/proxy/message/Empfaenger.java    |  36 --
 ...ot.autoconfigure.AutoConfiguration.imports |  14 -
 .../src/main/resources/application-dev.yml    |   5 -
 .../src/main/resources/application-local.yml  |  11 -
 .../src/main/resources/application.yml        |  29 -
 .../PostfachnachrichtenServiceBy.wsdl         | 108 ----
 .../bayernid/bspnachrichten-2.13.xsd          | 343 ------------
 .../src/main/resources/log4j2-local.xml       |  14 -
 .../proxy/BayernIdProxyGrpcServiceITCase.java | 170 ------
 .../proxy/BayernIdProxyServiceTest.java       |  68 ---
 .../proxy/BayernIdResponseTestFactory.java    |  44 --
 .../proxy/GrpcAbsenderTestFactory.java        |  52 --
 .../GrpcAttachmentMetadataTestFactory.java    |  40 --
 ...rpcBayernIdMessageMetadataTestFactory.java |  64 ---
 .../proxy/GrpcEmpfaengerTestFactory.java      |  42 --
 .../proxy/UploadStreamObserverTest.java       | 404 --------------
 .../proxy/akdb/BayernIdRemoteServiceTest.java | 233 --------
 .../errorhandling/ExceptionHandlerTest.java   | 195 -------
 .../proxy/message/AbsenderTestFactory.java    |  56 --
 .../proxy/message/AttachmentTestFactory.java  |  46 --
 .../message/BayernIdMessageMapperTest.java    | 506 ------------------
 .../message/BayernIdMessageTestFactory.java   |  57 --
 .../message/BayernIdRsponseTestFactory.java   |  29 -
 .../proxy/message/BspQuitungTestFactory.java  |  43 --
 .../proxy/message/EmpfaengerTestFactory.java  |  42 --
 .../bayernid/proxy/mock/BayernIdResponse.java |  37 --
 .../mock/GrpcBayernIdProxyTestClient.java     |  56 --
 .../proxy/mock/MockBayernIdInitializer.java   |  88 ---
 .../mock/MockBayernIdSendStreamObserver.java  |  68 ---
 .../proxy/mock/MockChunkedDataStreamer.java   | 126 -----
 .../org.junit.jupiter.api.extension.Extension |   1 -
 .../src/test/resources/application-itcase.yml |  10 -
 .../test/resources/junit-platform.properties  |   1 -
 .../org.mockito.plugins.MockMaker             |   1 -
 .../src/test/resources/test.pdf               | Bin 5705 -> 0 bytes
 .../src/test/resources/test.txt               |   1 -
 .../bayernid-proxy-interface/pom.xml          | 121 -----
 .../main/protobuf/bayernidproxy.model.proto   |  83 ---
 .../src/main/protobuf/bayernproxy.proto       |  38 --
 nachrichten-bayernid-proxy/pom.xml            |  69 ---
 nachrichten-bayernid-proxy/run_helm_test.sh   |   8 -
 .../src/main/helm/.helmignore                 |   1 -
 .../src/main/helm/Chart.yaml                  |  30 --
 .../src/main/helm/templates/_helpers.tpl      |  47 --
 .../templates/configmap_bindings_type.yaml    |  32 --
 .../src/main/helm/templates/deployment.yaml   | 166 ------
 .../main/helm/templates/network_policy.yaml   |  72 ---
 .../src/main/helm/templates/service.yaml      |  42 --
 .../main/helm/templates/service_account.yaml  |  31 --
 .../src/main/helm/values.yaml                 |  39 --
 .../src/test/helm-linter-values.yaml          |   9 -
 .../helm/configmap_bindings_type_test.yaml    |  48 --
 .../test/helm/deployment_actuator_test.yaml   |  67 ---
 .../deployment_bayernid_certificate_test.yaml | 114 ----
 .../test/helm/deployment_bindings_test.yaml   |  72 ---
 .../helm/deployment_container_basic_test.yaml |  64 ---
 ...eployment_container_other_values_test.yaml |  52 --
 ...yment_container_security_context_test.yaml |  69 ---
 .../helm/deployment_defaults_labels_test.yaml |  75 ---
 .../src/test/helm/deployment_env_test.yaml    |  53 --
 .../deployment_imagepull_secret_test.yaml     |  42 --
 .../deployment_ozgcloud_base_values_test.yaml |  46 --
 .../test/helm/deployment_resources_test.yaml  |  63 ---
 .../helm/deployment_service_account_test.yaml |  57 --
 .../helm/deployment_springProfile_test.yaml   |  52 --
 ...deployment_template_other_values_test.yaml |  81 ---
 .../helm/deyploment_general_value_test.yaml   |  78 ---
 .../src/test/helm/network_policy_test.yaml    | 183 -------
 .../src/test/helm/service_account_test.yaml   |  65 ---
 .../src/test/helm/service_test.yaml           |  85 ---
 pom.xml                                       |   1 -
 87 files changed, 1 insertion(+), 6422 deletions(-)
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/pom.xml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProperties.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyApplication.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyConfiguration.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcService.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyService.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/DeleteOnCloseInputStream.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserver.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteService.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandler.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Absender.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Attachment.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessage.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapper.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdResponse.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Empfaenger.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-dev.yml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-local.yml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application.yml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/PostfachnachrichtenServiceBy.wsdl
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/bspnachrichten-2.13.xsd
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/log4j2-local.xml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcServiceITCase.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyServiceTest.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdResponseTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAbsenderTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAttachmentMetadataTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcBayernIdMessageMetadataTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcEmpfaengerTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserverTest.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteServiceTest.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandlerTest.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AbsenderTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AttachmentTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapperTest.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdRsponseTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BspQuitungTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/EmpfaengerTestFactory.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/BayernIdResponse.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/GrpcBayernIdProxyTestClient.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdInitializer.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdSendStreamObserver.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockChunkedDataStreamer.java
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/application-itcase.yml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/junit-platform.properties
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.pdf
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.txt
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-interface/pom.xml
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernidproxy.model.proto
 delete mode 100644 nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernproxy.proto
 delete mode 100644 nachrichten-bayernid-proxy/pom.xml
 delete mode 100755 nachrichten-bayernid-proxy/run_helm_test.sh
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/.helmignore
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/Chart.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/_helpers.tpl
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/configmap_bindings_type.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/deployment.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/network_policy.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/service.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/templates/service_account.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/main/helm/values.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm-linter-values.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/configmap_bindings_type_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_actuator_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_bayernid_certificate_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_bindings_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_container_basic_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_container_other_values_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_container_security_context_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_defaults_labels_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_env_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_imagepull_secret_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_ozgcloud_base_values_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_resources_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_service_account_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_springProfile_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deployment_template_other_values_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/deyploment_general_value_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/network_policy_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/service_account_test.yaml
 delete mode 100644 nachrichten-bayernid-proxy/src/test/helm/service_test.yaml

diff --git a/Jenkinsfile b/Jenkinsfile
index 9364c4109..31a0c17c2 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -42,22 +42,6 @@ pipeline {
                     if( !(rootVersion == serverVersion && rootVersion == interfaceVersion && rootVersion == mailVersion)){
                         error("Versionen sind nicht identisch")                        
                     }
-
-                    def bayernIdProxyParent = getPomVersion('nachrichten-bayernid-proxy/pom.xml')
-                    def bayernIdProxyInterface = getPomVersion('nachrichten-bayernid-proxy/bayernid-proxy-interface/pom.xml')
-
-                    if(isReleaseBranch()){
-                        if ( !(bayernIdProxyParent ==~ RELEASE_REGEX) || !(bayernIdProxyInterface ==~ RELEASE_REGEX)) {
-                            error("Keine Release Version für BayernIdProxy Branch ${env.BRANCH_NAME}.")
-                        }
-                    } else {
-                        if ( !(bayernIdProxyParent ==~ SNAPSHOT_REGEX) || !(bayernIdProxyInterface ==~ SNAPSHOT_REGEX)) {
-                            error("Keine Snapshot Version für BayernIdProxy Branch ${env.BRANCH_NAME}.")
-                        }
-                    }
-                     if( !(bayernIdProxyParent == bayernIdProxyInterface)){
-                        error("Versionen BayernIdProxy sind nicht identisch")                        
-                    }
                 }
             }
         }
@@ -105,20 +89,6 @@ pipeline {
            }
         }
 
-        stage('Build Docker image nachrichten-bayernid-proxy') {
-          steps {
-                script {
-                    FAILED_STAGE=env.STAGE_NAME
-                }
-
-                configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
-                    dir('nachrichten-bayernid-proxy/bayernid-proxy-impl') {
-                        sh 'mvn --no-transfer-progress -s $MAVEN_SETTINGS spring-boot:build-image -DskipTests -Dmaven.wagon.http.retryHandler.count=3'
-                    }
-                }
-           }
-        }
-
         stage('Tag and Push Docker image vorgang-manager') {
             steps {
                 script {
@@ -138,25 +108,6 @@ pipeline {
             }
         }
 
-        stage('Tag and Push Docker image nachrichten-bayernid-proxy') {
-            steps {
-                script {
-                    FAILED_STAGE=env.STAGE_NAME
-                    IMAGE_TAG_BAYERN_ID_PROXY = generateImageTag('nachrichten-bayernid-proxy/pom.xml')
-
-                    tagAndPushDockerImage('bayernid-proxy', IMAGE_TAG_BAYERN_ID_PROXY)
-
-                    if (env.BRANCH_NAME == 'master') {
-                        tagAndPushDockerImage('bayernid-proxy', 'snapshot-latest')
-                        tagAndPushDockerImage('bayernid-proxy', 'e2e-test')
-                    }
-                    else if (env.BRANCH_NAME == 'release') {
-                        tagAndPushDockerImage('bayernid-proxy', 'latest')
-                    }
-                }
-            }
-        }
-
         stage('Test, build and deploy Helm Chart vorgang-manager') {
             steps {
                 script {
@@ -175,26 +126,6 @@ pipeline {
             }
         }        
 
-        stage('Test, build and deploy Helm Chart bayernid-proxy') {
-            steps {
-                script {
-                    FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION_BAYERN_ID_PROXY = generateHelmChartVersion("nachrichten-bayernid-proxy/pom.xml")
-
-                    dir('nachrichten-bayernid-proxy') {
-                        sh "./run_helm_test.sh"
-                    } 
-
-                    dir('nachrichten-bayernid-proxy/src/main/helm') {
-
-                        sh "helm package --version=${HELM_CHART_VERSION_BAYERN_ID_PROXY} ."
-
-                        deployHelmChart("bayernid-proxy", HELM_CHART_VERSION_BAYERN_ID_PROXY)
-                    }
-                }
-            }
-        }
-
         stage('Trigger Dev rollout') {
             when {
                 branch 'master'
@@ -206,7 +137,6 @@ pipeline {
                     cloneGitopsRepo()
 
                     setNewVorgangManagerGitopsVersion("dev")
-                    setNewNachrichtenBayernIdProxyGitopsVersion("dev")
                     pushDevGitopsRepo()
                 }
             }
@@ -223,7 +153,6 @@ pipeline {
                     cloneGitopsRepo()
 
                     setNewVorgangManagerGitopsVersion("test")
-                    setNewNachrichtenBayernIdProxyGitopsVersion("test")
 
                     pushTestGitopsRepo()
                 }
@@ -296,15 +225,6 @@ pipeline {
                             }
                         }
 
-                        dir('nachrichten-bayernid-proxy') {
-                        	try {
-                                withSonarQubeEnv('sonarqube-ozg-sh'){
-                                    sh 'mvn -s $MAVEN_SETTINGS sonar:sonar'
-	                            }
-	                        } catch (Exception e) {
-                                unstable("SonarQube BayernIdProxy failed")
-                            }
-                        }
             		}
                 }
             }
@@ -414,18 +334,6 @@ Void setNewVorgangManagerGitopsVersion(String environment) {
     }
 }
 
-Void setNewNachrichtenBayernIdProxyGitopsVersion(String environment) {
-    dir("gitops") {
-        def envFile = "${environment}/application/values/bayernid-proxy-values.yaml"
-        def envVersions = readYaml file: envFile
-
-        envVersions.bayernid_proxy.image.tag = IMAGE_TAG_BAYERN_ID_PROXY
-        envVersions.bayernid_proxy.helm.version = HELM_CHART_VERSION_BAYERN_ID_PROXY
-
-        writeYaml file: envFile, data: envVersions, overwrite: true
-    }
-}
-
 Void pushDevGitopsRepo() {
     pushNewGitopsVersion('dev')
 }
@@ -443,7 +351,7 @@ Void pushNewGitopsVersion(String environment) {
         withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) {
             sh "git add ${environment}/application/values/*-values.yaml"
 
-            sh "git commit -m 'jenkins rollout ${environment} vorgang-manager version ${IMAGE_TAG} bayern-id version ${IMAGE_TAG_BAYERN_ID_PROXY}'"
+            sh "git commit -m 'jenkins rollout ${environment} vorgang-manager version ${IMAGE_TAG}'"
             sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git'
         }
     }
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/pom.xml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/pom.xml
deleted file mode 100644
index 33ebf76b8..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/pom.xml
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-    Ministerpräsidenten des Landes Schleswig-Holstein
-    Staatskanzlei
-    Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-
-    Lizenziert unter der EUPL, Version 1.2 oder - sobald
-    diese von der Europäischen Kommission genehmigt wurden -
-    Folgeversionen der EUPL ("Lizenz");
-    Sie dürfen dieses Werk ausschließlich gemäß
-    dieser Lizenz nutzen.
-    Eine Kopie der Lizenz finden Sie hier:
-
-    https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-
-    Sofern nicht durch anwendbare Rechtsvorschriften
-    gefordert oder in schriftlicher Form vereinbart, wird
-    die unter der Lizenz verbreitete Software "so wie sie
-    ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-    ausdrücklich oder stillschweigend - verbreitet.
-    Die sprachspezifischen Genehmigungen und Beschränkungen
-    unter der Lizenz sind dem Lizenztext zu entnehmen.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>de.ozgcloud.nachrichten</groupId>
-		<artifactId>nachrichten-bayernid-proxy</artifactId>
-		<version>0.4.0-SNAPSHOT</version>
-		<relativePath>../</relativePath>
-	</parent>
-
-	<artifactId>bayernid-proxy-impl</artifactId>
-	<name>OZG Cloud BayernID Proxy Implementation</name>
-
-	<properties>
-		<jaxb-maven-plugin.version>4.0.0</jaxb-maven-plugin.version>
-
-		<spring-boot.build-image.imageName>docker.ozg-sh.de/bayernid-proxy:build-latest</spring-boot.build-image.imageName>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>de.ozgcloud.nachrichten</groupId>
-			<artifactId>bayernid-proxy-interface</artifactId>
-			<version>${project.version}</version>
-		</dependency>
-
-		<!-- Spring -->
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter</artifactId>
-		</dependency>
-		<dependency>
-		<groupId>org.springframework.boot</groupId>
-		<artifactId>spring-boot-starter-web</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-actuator</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-validation</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.ws</groupId>
-			<artifactId>spring-ws-core</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-oxm</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.ws</groupId>
-			<artifactId>spring-xml</artifactId>
-		</dependency>
-
-		<!-- commons -->
-		<dependency>
-			<groupId>org.apache.httpcomponents.client5</groupId>
-			<artifactId>httpclient5</artifactId>
-		</dependency>
-
-		<!-- grpc -->
-		<dependency>
-			<groupId>net.devh</groupId>
-			<artifactId>grpc-server-spring-boot-starter</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.grpc</groupId>
-			<artifactId>grpc-inprocess</artifactId>
-		</dependency>
-
-		<!-- aspectJ -->
-		<dependency>
-			<groupId>org.aspectj</groupId>
-			<artifactId>aspectjweaver</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.aspectj</groupId>
-			<artifactId>aspectjrt</artifactId>
-		</dependency>
-
-		<!-- Tools -->
-		<dependency>
-			<groupId>org.mapstruct</groupId>
-			<artifactId>mapstruct</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.glassfish.jaxb</groupId>
-			<artifactId>jaxb-runtime</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>com.fasterxml.jackson.dataformat</groupId>
-			<artifactId>jackson-dataformat-xml</artifactId>
-		</dependency>
-
-		<!-- Dev -->
-		<dependency>
-			<groupId>org.projectlombok</groupId>
-			<artifactId>lombok</artifactId>
-			<optional>true</optional>
-			<scope>provided</scope>
-		</dependency>
-
-		<!-- Test -->
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-test</artifactId>
-			<scope>test</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>org.junit.vintage</groupId>
-					<artifactId>junit-vintage-engine</artifactId>
-				</exclusion>
-			</exclusions>
-		</dependency>
-		<dependency>
-			<groupId>org.junit.jupiter</groupId>
-			<artifactId>junit-jupiter-engine</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.junit.jupiter</groupId>
-			<artifactId>junit-jupiter-params</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.wiremock</groupId>
-			<artifactId>wiremock-standalone</artifactId>
-			<version>${wiremock.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>net.devh</groupId>
-			<artifactId>grpc-client-spring-boot-starter</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-	</dependencies>
-
-	<build>
-		<finalName>${project.artifactId}</finalName>
-		<plugins>
-			<plugin>
-				<groupId>org.springframework.boot</groupId>
-				<artifactId>spring-boot-maven-plugin</artifactId>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-			</plugin>
-
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-failsafe-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.jacoco</groupId>
-				<artifactId>jacoco-maven-plugin</artifactId>
-			</plugin>
-			<plugin>
-				<groupId>org.jvnet.jaxb</groupId>
-				<artifactId>jaxb-maven-plugin</artifactId>
-				<version>${jaxb-maven-plugin.version}</version>
-				<configuration>
-					<schemas>
-						<schema>
-							<fileset>
-								<directory>${basedir}/src/main/resources/bayernid</directory>
-								<includes>
-									<include>*.wsdl</include>
-								</includes>
-							</fileset>
-						</schema>
-						<schema>
-							<fileset>
-								<directory>${basedir}/src/main/resources/bayernid</directory>
-								<includes>
-									<include>*.xsd</include>
-								</includes>
-							</fileset>
-						</schema>
-					</schemas>
-					<episode>false</episode>
-				</configuration>
-				<executions>
-					<execution>
-						<goals>
-							<goal>generate</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProperties.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProperties.java
deleted file mode 100644
index 4fe6e1a75..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProperties.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import jakarta.validation.constraints.NotBlank;
-
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.validation.annotation.Validated;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Getter
-@Setter
-@Validated
-@Configuration
-@ConfigurationProperties(prefix = "ozgcloud.bayernid")
-public class BayernIdProperties {
-
-	@NotBlank
-	private String server;
-
-	private boolean useSsl = true;
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyApplication.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyApplication.java
deleted file mode 100644
index 6b47fed8a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyApplication.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import java.util.TimeZone;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.scheduling.annotation.EnableAsync;
-
-@SpringBootApplication
-@EnableAsync(proxyTargetClass = true)
-@EnableAspectJAutoProxy(proxyTargetClass = true)
-public class BayernIdProxyApplication {
-
-	public static void main(String[] args) {
-		TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
-		SpringApplication.run(BayernIdProxyApplication.class, args);
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyConfiguration.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyConfiguration.java
deleted file mode 100644
index 1705b377c..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyConfiguration.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
-import org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager;
-import org.apache.hc.client5.http.io.HttpClientConnectionManager;
-import org.apache.hc.client5.http.socket.ConnectionSocketFactory;
-import org.apache.hc.client5.http.socket.PlainConnectionSocketFactory;
-import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
-import org.apache.hc.core5.http.config.RegistryBuilder;
-import org.springframework.boot.ssl.SslBundles;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.oxm.jaxb.Jaxb2Marshaller;
-import org.springframework.ws.transport.http.HttpComponents5MessageSender;
-
-import akdb.bsp.postkorb.komm.webservice.ObjectFactory;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb.BayernIdRemoteService;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import lombok.RequiredArgsConstructor;
-
-@Configuration
-@RequiredArgsConstructor
-class BayernIdProxyConfiguration {
-
-	private final SslBundles sslBundles;
-	private final BayernIdProperties properties;
-
-	@Bean
-	Jaxb2Marshaller createJaxb2Marshaller() {
-		var marshaller = new Jaxb2Marshaller();
-		marshaller.setContextPaths("akdb.bsp.postkorb.komm.webservice", "de.akdb.egov.bsp.nachrichten");
-		return marshaller;
-	}
-
-	@Bean
-	BayernIdRemoteService soapHttpClient(BayernIdMessageMapper messageMapper, Jaxb2Marshaller marshaller) {
-		var bayernIdRemoteService = new BayernIdRemoteService(messageMapper, new ObjectFactory());
-		bayernIdRemoteService.setMarshaller(marshaller);
-		bayernIdRemoteService.setUnmarshaller(marshaller);
-		bayernIdRemoteService.setDefaultUri(properties.getServer());
-		bayernIdRemoteService.setMessageSender(createMessageSender());
-		return bayernIdRemoteService;
-	}
-
-	HttpComponents5MessageSender createMessageSender() {
-		var httpClient = HttpClientBuilder.create()
-				.setConnectionManager(createConnectionManager())
-				.addRequestInterceptorFirst(new HttpComponents5MessageSender.RemoveSoapHeadersInterceptor())
-				.build();
-		return new HttpComponents5MessageSender(httpClient);
-	}
-
-	private HttpClientConnectionManager createConnectionManager() {
-		var socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create().register("http", new PlainConnectionSocketFactory());
-		if (properties.isUseSsl()) {
-			socketFactoryRegistry.register("https", createSslConnectionSocketFactory());
-		}
-		return new BasicHttpClientConnectionManager(socketFactoryRegistry.build());
-	}
-
-	private SSLConnectionSocketFactory createSslConnectionSocketFactory() {
-		return new SSLConnectionSocketFactory(sslBundles.getBundle("bayern-id-ca").createSslContext());
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcService.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcService.java
deleted file mode 100644
index b92528052..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcService.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.BayernIdProxyServiceGrpc.BayernIdProxyServiceImplBase;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import io.grpc.stub.StreamObserver;
-import lombok.RequiredArgsConstructor;
-import net.devh.boot.grpc.server.service.GrpcService;
-
-@GrpcService
-@RequiredArgsConstructor
-public class BayernIdProxyGrpcService extends BayernIdProxyServiceImplBase {
-
-	private final BayernIdProxyService proxyService;
-	private final BayernIdMessageMapper messageMapper;
-
-	@Override
-	public StreamObserver<GrpcSendBayernIdMessageRequest> sendMessageAsStream(StreamObserver<GrpcSendBayernIdMessageResponse> responseObserver) {
-		return new UploadStreamObserver(responseObserver, proxyService, messageMapper);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyService.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyService.java
deleted file mode 100644
index 1a760fd47..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyService.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import org.springframework.stereotype.Service;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb.BayernIdRemoteService;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse;
-import lombok.RequiredArgsConstructor;
-
-@Service
-@RequiredArgsConstructor
-public class BayernIdProxyService {
-
-	private final BayernIdRemoteService bayernIdRemoteService;
-
-	public BayernIdResponse sendPostfachNachricht(BayernIdMessage message) {
-		return bayernIdRemoteService.sendPostfachNachricht(message);
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/DeleteOnCloseInputStream.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/DeleteOnCloseInputStream.java
deleted file mode 100644
index d1655a9c7..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/DeleteOnCloseInputStream.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.nio.file.Files;
-
-public class DeleteOnCloseInputStream extends FileInputStream {
-
-	private final File file;
-
-	public DeleteOnCloseInputStream(File file) throws FileNotFoundException {
-		super(file);
-		this.file = file;
-	}
-
-	@Override
-	public void close() throws IOException {
-		super.close();
-		Files.deleteIfExists(file.toPath());
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserver.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserver.java
deleted file mode 100644
index e223ae4e5..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserver.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import static java.util.Objects.*;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.concurrent.atomic.AtomicReference;
-
-import com.google.protobuf.ByteString;
-
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.Attachment;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage.BayernIdMessageBuilder;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import io.grpc.stub.StreamObserver;
-import lombok.RequiredArgsConstructor;
-import lombok.extern.log4j.Log4j2;
-
-@Log4j2
-@RequiredArgsConstructor
-public class UploadStreamObserver implements StreamObserver<GrpcSendBayernIdMessageRequest> {
-
-	static final String ATTACHMENT_FILE_SUFFIX = ".ozg-cloud.tmp";
-
-	private final StreamObserver<GrpcSendBayernIdMessageResponse> responseObserver;
-	private final BayernIdProxyService proxyService;
-	private final BayernIdMessageMapper messageMapper;
-
-	private final AtomicReference<BayernIdMessageBuilder> messageBuilder = new AtomicReference<>();
-	private OutputStream attachmentWriter;
-
-	@Override
-	public synchronized void onNext(GrpcSendBayernIdMessageRequest sendRequest) {
-		if (sendRequest.hasMessageMetadata()) {
-			readMessageMetadata(sendRequest.getMessageMetadata());
-			return;
-		}
-		readAttachments(sendRequest.getAttachments());
-	}
-
-	void readMessageMetadata(GrpcBayernIdMessageMetadata sendRequest) {
-		messageBuilder.set(messageMapper.toBayernIdMessage(sendRequest));
-	}
-
-	void readAttachments(GrpcAttachments attachments) {
-		if (attachments.hasAttachmentMetadata()) {
-			addDataContainer(attachments.getAttachmentMetadata());
-			return;
-		}
-		writeAttachment(attachments.getContent());
-	}
-
-	void addDataContainer(GrpcAttachmentMetadata attachmentMetadata) {
-		messageBuilder.get().attachment(buildAttachment(attachmentMetadata));
-	}
-
-	Attachment buildAttachment(GrpcAttachmentMetadata attachmentMetadata) {
-		var attachmentFile = createTemporallyFile(attachmentMetadata.getFileName());
-		return Attachment.builder()
-				.name(attachmentMetadata.getFileName())
-				.type(attachmentMetadata.getFileType())
-				.content(attachmentFile)
-				.build();
-	}
-
-	InputStream createTemporallyFile(String fileName) {
-		try {
-			closeTemporallyWriter();
-			var tempFilePath = createFile(fileName);
-			attachmentWriter = newOutputStream(tempFilePath);
-			return newInputStream(tempFilePath);
-		} catch (IOException e) {
-			throw new TechnicalException("Can not create temporary file for attachment " + fileName, e);
-		}
-	}
-
-	Path createFile(String fileName) throws IOException {
-		var tmpFile = Files.createTempFile(fileName, ATTACHMENT_FILE_SUFFIX);
-		tmpFile.toFile().deleteOnExit();
-		return tmpFile;
-	}
-
-	OutputStream newOutputStream(Path filePath) throws IOException {
-		return Files.newOutputStream(filePath);
-	}
-
-	InputStream newInputStream(Path filePath) throws IOException {
-		return new DeleteOnCloseInputStream(filePath.toFile());
-	}
-
-	void closeTemporallyWriter() {
-		try {
-			if (nonNull(attachmentWriter)) {
-				attachmentWriter.close();
-			}
-		} catch (IOException e) {
-			throw new TechnicalException("Can not close attachment file", e);
-		}
-	}
-
-	void writeAttachment(ByteString content) {
-		try {
-			attachmentWriter.write(content.toByteArray());
-			attachmentWriter.flush();
-		} catch (IOException e) {
-			throw new TechnicalException("Can not save attachment content", e);
-		}
-	}
-
-	@Override
-	public void onError(Throwable t) {
-		closeTemporallyWriter();
-		throw new TechnicalException("Error while sending postfach message", t);
-	}
-
-	@Override
-	public void onCompleted() {
-		closeTemporallyWriter();
-		try {
-			var bayernIdResponse = proxyService.sendPostfachNachricht(messageBuilder.get().build());
-			responseObserver.onNext(messageMapper.fromBayernIdResponse(bayernIdResponse));
-			responseObserver.onCompleted();
-		} catch (Exception e) {
-			throw new TechnicalException("Error while sending postfach message", e);
-		}
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteService.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteService.java
deleted file mode 100644
index 9446a6a57..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteService.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb;
-
-import java.io.IOException;
-
-import jakarta.xml.bind.JAXBElement;
-
-import org.springframework.ws.client.core.support.WebServiceGatewaySupport;
-import org.springframework.xml.transform.StringResult;
-import org.springframework.xml.transform.StringSource;
-
-import akdb.bsp.postkorb.komm.webservice.ObjectFactory;
-import akdb.bsp.postkorb.komm.webservice.SendBspNachrichtNative;
-import akdb.bsp.postkorb.komm.webservice.SendBspNachrichtNativeOutput;
-import de.akdb.egov.bsp.nachrichten.BspNachricht;
-import de.akdb.egov.bsp.nachrichten.BspQuittung;
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse;
-import lombok.RequiredArgsConstructor;
-
-@RequiredArgsConstructor
-public class BayernIdRemoteService extends WebServiceGatewaySupport {
-
-	private final BayernIdMessageMapper messageMapper;
-	private final ObjectFactory objectFactory;
-
-	public BayernIdResponse sendPostfachNachricht(BayernIdMessage message) {
-		var sendNachricht = createSendNachricht(message);
-		var sendBspNachrichtResponse = sendBspNachricht(sendNachricht);
-		var bspQuittung = createBspQuitung(sendBspNachrichtResponse);
-		return messageMapper.toBayernIdResponse(bspQuittung);
-	}
-
-	SendBspNachrichtNative createSendNachricht(BayernIdMessage message) {
-		var bspNachricht = messageMapper.toBspNachricht(message);
-		var sendBspNachricht = new SendBspNachrichtNative();
-		sendBspNachricht.setBspNachricht(buildBspNachrichtXml(bspNachricht));
-		return sendBspNachricht;
-	}
-
-	String buildBspNachrichtXml(BspNachricht message) {
-		try {
-			var result = new StringResult();
-			getMarshaller().marshal(message, result);
-			return result.toString();
-		} catch (IOException e) {
-			throw new TechnicalException("Error while marshalling BspNachricht", e);
-		}
-	}
-
-	SendBspNachrichtNativeOutput sendBspNachricht(SendBspNachrichtNative request) {
-		return send(objectFactory.createSendBspNachrichtNative(request)).getValue();
-	}
-
-	@SuppressWarnings("unchecked")
-	JAXBElement<SendBspNachrichtNativeOutput> send(JAXBElement<SendBspNachrichtNative> jaxbSendBspNachrichtNative) {
-		return (JAXBElement<SendBspNachrichtNativeOutput>) getWebServiceTemplate().marshalSendAndReceive(jaxbSendBspNachrichtNative);
-	}
-	BspQuittung createBspQuitung(SendBspNachrichtNativeOutput bspNachrichtResponse) {
-		try {
-			return (BspQuittung) getUnmarshaller().unmarshal(new StringSource(bspNachrichtResponse.getBspQuittung()));
-		} catch (IOException e) {
-			throw new TechnicalException("Error while unmarshalling BspQuittung", e);
-		}
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandler.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandler.java
deleted file mode 100644
index fba0b8d8e..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandler.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.errorhandling;
-
-import java.util.UUID;
-
-import de.ozgcloud.common.errorhandling.ExceptionUtil;
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.common.grpc.GrpcUtil;
-import io.grpc.Metadata;
-import io.grpc.Status;
-import io.grpc.StatusException;
-import lombok.extern.log4j.Log4j2;
-import net.devh.boot.grpc.server.advice.GrpcAdvice;
-import net.devh.boot.grpc.server.advice.GrpcExceptionHandler;
-
-@GrpcAdvice
-@Log4j2
-public class ExceptionHandler {
-
-	static final String KEY_EXCEPTION_ID = "EXCEPTION_ID";
-
-	@GrpcExceptionHandler
-	public StatusException handleTechnicalException(TechnicalException e) {
-		LOG.error("Technical exception occurred", e);
-		return createStatusException(buildInternalStatus(e), buildMetadata(e.getExceptionId()));
-	}
-
-	@GrpcExceptionHandler
-	public StatusException handleRuntimeException(RuntimeException e) {
-		var exceptionId = createExceptionId();
-		LOG.error(ExceptionUtil.formatMessageWithExceptionId("gRPC internal exception.",exceptionId), e);
-		return createStatusException(buildInternalStatus(e), buildMetadata(exceptionId));
-	}
-
-	Status buildInternalStatus(RuntimeException e) {
-		return Status.INTERNAL.withDescription(e.getMessage()).withCause(e.getCause());
-	}
-
-	String createExceptionId() {
-		return UUID.randomUUID().toString();
-	}
-
-	Metadata buildMetadata(String exceptionId) {
-		var metadata = new Metadata();
-		metadata.put(GrpcUtil.keyOfString(KEY_EXCEPTION_ID), exceptionId);
-		return metadata;
-	}
-
-	StatusException createStatusException(Status status, Metadata metadata) {
-		return new StatusException(status, metadata);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Absender.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Absender.java
deleted file mode 100644
index e5cbd91cf..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Absender.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import lombok.Builder;
-import lombok.Getter;
-
-@Builder
-@Getter
-public class Absender {
-
-	private String postkorbId;
-	private String name;
-	private String anschrift;
-	private String email;
-	private String telefon;
-	private String hyperlink;
-	private String dienst;
-	private String mandant;
-	private String gemeindeschluessel;
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Attachment.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Attachment.java
deleted file mode 100644
index 4c144a4f2..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Attachment.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import java.io.InputStream;
-
-import lombok.Builder;
-import lombok.Getter;
-
-@Builder
-@Getter
-public class Attachment {
-
-	private String name;
-	private String type;
-	private InputStream content;
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessage.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessage.java
deleted file mode 100644
index 71328dde6..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessage.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import java.util.List;
-
-import lombok.Builder;
-import lombok.Getter;
-import lombok.Singular;
-
-@Builder
-@Getter
-public class BayernIdMessage {
-
-	private String messageId;
-	private String createdAt;
-	private String vorgangId;
-	private Absender absender;
-	private Empfaenger empfaenger;
-	private String subject;
-	private String storkQaaLevel;
-	private String text;
-	@Singular
-	private List<Attachment> attachments;
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapper.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapper.java
deleted file mode 100644
index 0e7a74881..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapper.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import java.io.IOException;
-
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.NullValueCheckStrategy;
-import org.mapstruct.NullValuePropertyMappingStrategy;
-
-import de.akdb.egov.bsp.nachrichten.AbsenderType;
-import de.akdb.egov.bsp.nachrichten.BspNachricht;
-import de.akdb.egov.bsp.nachrichten.BspQuittung;
-import de.akdb.egov.bsp.nachrichten.DataContainerType;
-import de.akdb.egov.bsp.nachrichten.SchluesseltabelleType;
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAbsender;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadata;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageResponse;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage.BayernIdMessageBuilder;
-
-@Mapper(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE, nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
-public interface BayernIdMessageMapper {
-
-	String TABELLE_NUMMER_TEXT_ENCODING = "9004";
-	String TABELLE_NUMMER_MIME_TYPE = "9005";
-	String TABELLE_NUMMER_GEMEINDE_SCHLUESSEL = "36";
-	String TEXT_ENCODING_PLAIN_TEXT = "text/plain";
-
-	@Mapping(target = "attachments", ignore = true)
-	BayernIdMessageBuilder toBayernIdMessage(GrpcBayernIdMessageMetadata grpcMessage);
-
-	@Mapping(target = "gemeindeschluessel.tabelle", constant = TABELLE_NUMMER_GEMEINDE_SCHLUESSEL)
-	@Mapping(target = "gemeindeschluessel.schluessel", source = "gemeindeschluessel")
-	AbsenderType toAbsenderType(GrpcAbsender absender);
-
-	@Mapping(target = "unknownFields", ignore = true)
-	@Mapping(target = "statusBytes", ignore = true)
-	@Mapping(target = "messageBytes", ignore = true)
-	@Mapping(target = "mergeUnknownFields", ignore = true)
-	@Mapping(target = "mergeFrom", ignore = true)
-	@Mapping(target = "clearOneof", ignore = true)
-	@Mapping(target = "clearField", ignore = true)
-	GrpcSendBayernIdMessageResponse fromBayernIdResponse(BayernIdResponse message);
-
-	@Mapping(target = "nachrichtenKopf.identifikationNachricht.nachrichtenId", source = "messageId")
-	@Mapping(target = "nachrichtenKopf.identifikationNachricht.erstellungszeitpunkt", source = "createdAt")
-	@Mapping(target = "nachrichtenKopf.empfaenger.postkorbId", source = "empfaenger.postkorbId")
-	@Mapping(target = "nachrichtenKopf.empfaenger.name", source = "empfaenger.name")
-	@Mapping(target = "nachrichtenKopf.empfaenger.anschrift", source = "empfaenger.anschrift")
-	@Mapping(target = "nachrichtenKopf.absender", source = "absender")
-	@Mapping(target = "nachrichtenInhalt.betreff", source = "subject")
-	@Mapping(target = "nachrichtenInhalt.storkQaaLevel", source = "storkQaaLevel")
-	@Mapping(target = "nachrichtenInhalt.zuVorgang.vorgangsId", source = "vorgangId")
-	@Mapping(target = "nachrichtenInhalt.freiText.encoding.schluessel", constant = TEXT_ENCODING_PLAIN_TEXT)
-	@Mapping(target = "nachrichtenInhalt.freiText.encoding.tabelle", constant = TABELLE_NUMMER_TEXT_ENCODING)
-	@Mapping(target = "nachrichtenInhalt.freiText.text", source = "text")
-	@Mapping(target = "nachrichtenInhalt.dataContainer", source = "attachments")
-	BspNachricht toBspNachricht(BayernIdMessage message);
-
-	@Mapping(target = "gemeindeschluessel.tabelle", constant = TABELLE_NUMMER_GEMEINDE_SCHLUESSEL)
-	@Mapping(target = "gemeindeschluessel.schluessel", source = "gemeindeschluessel")
-	AbsenderType toAbsenderType(Absender absender);
-
-	default DataContainerType toDataContainerType(Attachment attachment) {
-		var dataContainer = new DataContainerType();
-		dataContainer.setFileType(toSchluesseltabelleType(attachment));
-		dataContainer.setFileName(attachment.getName());
-		try {
-			var content = attachment.getContent();
-			try {
-				dataContainer.setInhalt(content.readAllBytes());
-			} finally {
-				content.close();
-			}
-		} catch (IOException e) {
-			throw new TechnicalException("Error reading attachment content", e);
-		}
-		return dataContainer;
-	}
-
-	default SchluesseltabelleType toSchluesseltabelleType(Attachment attachment) {
-		var schluesseltabelle = new SchluesseltabelleType();
-		schluesseltabelle.setSchluessel(attachment.getType());
-		schluesseltabelle.setTabelle(TABELLE_NUMMER_MIME_TYPE);
-		return schluesseltabelle;
-	}
-
-	@Mapping(target = "status", source = "ergebnisStatus.schluessel")
-	@Mapping(target = "message", source = "ergaenzendeHinweise")
-	@Mapping(target = "success", source = "annahmeErfolgreich")
-	BayernIdResponse toBayernIdResponse(BspQuittung quittung);
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdResponse.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdResponse.java
deleted file mode 100644
index f7b17f2da..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdResponse.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import lombok.Builder;
-import lombok.Getter;
-
-@Builder
-@Getter
-public class BayernIdResponse {
-
-	private boolean success;
-	private String status;
-	private String message;
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Empfaenger.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Empfaenger.java
deleted file mode 100644
index 6cfd6fb4e..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/Empfaenger.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import lombok.Builder;
-import lombok.Getter;
-
-@Builder
-@Getter
-public class Empfaenger {
-
-	private String postkorbId;
-	private String name;
-	private String anschrift;
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
deleted file mode 100644
index 31f436d78..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ /dev/null
@@ -1,14 +0,0 @@
-net.devh.boot.grpc.common.autoconfigure.GrpcCommonCodecAutoConfiguration
-net.devh.boot.grpc.common.autoconfigure.GrpcCommonTraceAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcAdviceAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcHealthServiceAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcMetadataConsulConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcMetadataEurekaConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcMetadataNacosConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcMetadataZookeeperConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcReflectionServiceAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcServerAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcServerFactoryAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcServerMetricAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcServerSecurityAutoConfiguration
-net.devh.boot.grpc.server.autoconfigure.GrpcServerTraceAutoConfiguration
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-dev.yml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-dev.yml
deleted file mode 100644
index df2f1cca6..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-dev.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-ozgcloud:
-  bayernid:
-    proxy:
-      server: "https://infra-pre-id.bayernportal.de/bspx-postkorb-okkomm-ws/bspservices/postkorbkomm"
-      postkorbId: "28721c6f-b78f-4d5c-a048-19fd2fc429d2"
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-local.yml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-local.yml
deleted file mode 100644
index f048bc1e3..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application-local.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-logging:
-  config: classpath:log4j2-local.xml
-
-server:
-  port: 9097
-management:
-  server.port: 9098
-
-grpc:
-  server:
-    port: 9099
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application.yml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application.yml
deleted file mode 100644
index 69790c2b4..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/application.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-logging:
-  level:
-    ROOT: WARN
-    '[de.ozgcloud]': INFO
-  config: classpath:log4j2-local.xml
-
-
-management:
-  server:
-    port: 8081
-  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: "*"
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/PostfachnachrichtenServiceBy.wsdl b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/PostfachnachrichtenServiceBy.wsdl
deleted file mode 100644
index a2df76060..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/PostfachnachrichtenServiceBy.wsdl
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<definitions name="PostkorbKommService"
-	xmlns="http://schemas.xmlsoap.org/wsdl/"
-	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-	xmlns:bsp="http://akdb.de/portal/gehaltsabrechnungen-bspnachricht"
-	xmlns:tns="urn:akdb:bsp:postkorb:komm:webservice"
-	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-	targetNamespace="urn:akdb:bsp:postkorb:komm:webservice">
-	<types>
-		<xs:schema
-			targetNamespace='urn:akdb:bsp:postkorb:komm:webservice' version='1.1'
-			xmlns:tns='urn:akdb:bsp:postkorb:komm:webservice'
-			xmlns:xs='http://www.w3.org/2001/XMLSchema'>
-			<xs:element name='sendBspNachricht'
-				type='tns:sendBspNachricht' />
-			<xs:complexType name='sendBspNachricht'>
-				<xs:sequence>
-					<xs:element minOccurs='1' name='okKommBspNachrichtInput'
-						type='xs:base64Binary' />
-				</xs:sequence>
-			</xs:complexType>
-			<xs:element name='sendBspNachrichtOutput'
-				type='tns:sendBspNachrichtOutput' />
-			<xs:complexType name='sendBspNachrichtOutput'>
-				<xs:sequence>
-					<xs:element minOccurs='1'
-						name='okKommBspNachrichtOutput' type='xs:base64Binary' />
-				</xs:sequence>
-			</xs:complexType>
-			<xs:element name='sendBspNachrichtNative'
-				type='tns:sendBspNachrichtNative' />
-			<xs:complexType name='sendBspNachrichtNative'>
-				<xs:sequence>
-					<xs:element minOccurs='1' name='bspNachricht'
-						type='xs:string' />
-				</xs:sequence>
-			</xs:complexType>
-			<xs:element name='sendBspNachrichtNativeOutput'
-				type='tns:sendBspNachrichtNativeOutput' />
-			<xs:complexType name='sendBspNachrichtNativeOutput'>
-				<xs:sequence>
-					<xs:element minOccurs='1' name='bspQuittung'
-						type='xs:string' />
-				</xs:sequence>
-			</xs:complexType>
-		</xs:schema>
-	</types>
-	<message name='PostkorbKommService_sendBspNachrichtInput'>
-		<part element='tns:sendBspNachricht'
-			name='okKommBspNachrichtInput'></part>
-	</message>
-	<message name='PostkorbKommService_sendBspNachrichtOutput'>
-		<part element='tns:sendBspNachrichtOutput'
-			name='sendBspNachrichtOutput'></part>
-	</message>
-	<message name='PostkorbKommService_sendBspNachrichtNativeInput'>
-		<part element='tns:sendBspNachrichtNative'
-			name='sendBspNachrichtNative'></part>
-	</message>
-	<message
-		name='PostkorbKommService_sendBspNachrichtNativeOutput'>
-		<part element='tns:sendBspNachrichtNativeOutput'
-			name='bspQuittung'></part>
-	</message>
-	<portType name='PostkorbKommPortType'>
-		<operation name='sendBspNachricht'>
-			<input message='tns:PostkorbKommService_sendBspNachrichtInput'></input>
-			<output
-				message='tns:PostkorbKommService_sendBspNachrichtOutput'></output>
-		</operation>
-		<operation name='sendBspNachrichtNative'>
-			<input
-				message='tns:PostkorbKommService_sendBspNachrichtNativeInput'></input>
-			<output
-				message='tns:PostkorbKommService_sendBspNachrichtNativeOutput'></output>
-		</operation>
-	</portType>
-	<binding name="PostkorbKommBinding"
-		type="tns:PostkorbKommPortType">
-		<soap:binding style="document"
-			transport="http://schemas.xmlsoap.org/soap/http" />
-		<operation name='sendBspNachricht'>
-			<soap:operation soapAction='' />
-			<input>
-				<soap:body use='literal' />
-			</input>
-			<output>
-				<soap:body use="literal" />
-			</output>
-		</operation>
-		<operation name='sendBspNachrichtNative'>
-			<soap:operation soapAction='' />
-			<input>
-				<soap:body use='literal' />
-			</input>
-			<output>
-				<soap:body use="literal" />
-			</output>
-		</operation>
-	</binding>
-	<service name="PostkorbKommService">
-		<port name="PostkorbKommPort" binding="tns:PostkorbKommBinding">
-			<!-- <soap:address location="${web-services-base- url}/bspservices/postkorbkomm" 
-				/> -->
-			<soap:address location="http://localhost:8080/bspx-postkorb-okkomm-ws/bspservices/postkorbkomm" />
-		</port>
-	</service>
-</definitions>
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/bspnachrichten-2.13.xsd b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/bspnachrichten-2.13.xsd
deleted file mode 100644
index 23b0e247d..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/bayernid/bspnachrichten-2.13.xsd
+++ /dev/null
@@ -1,343 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Service- und Portalplattform
-    AKDB München, Geschäftsfeld eGovernment
-
-    Copyright (c) AKDB
-
--->
-<xsd:schema targetNamespace="http://www.akdb.de/egov/bsp/nachrichten"
-  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-  xmlns:bsp="http://www.akdb.de/egov/bsp/nachrichten"
-  elementFormDefault="qualified">
-
-  <xsd:element name="BspNachricht">
-    <xsd:annotation>
-      <xsd:appinfo>
-        <title>Nachricht für die Kommunikation zwischen Bürgerservice-Portal
-          und externen Fachverfahren</title>
-      </xsd:appinfo>
-      <xsd:documentation>Einheitliches Nachrichtenschema für die
-        Kommunikation zwischen Bürgerservice-Portal und externem Verfahren.
-        Nachrichten vom Bürgerservice-Portal an den Postkorb eines
-        Verfahrens
-        oder Nachrichten von den Verfahren an das Bürgerservice-Portal müssen
-        gemäß diesem Schema aufgebaut sein.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element name="NachrichtenKopf" type="bsp:NachrichtenKopfType"/>
-        <xsd:element name="NachrichtenInhalt" type="bsp:NachrichtenInhaltType"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" use="required">
-        <xsd:annotation>
-          <xsd:documentation>Dieses Attribut kennzeichnet die
-            Nachrichten-Version, z. B. "1.0", "1.1".</xsd:documentation>
-        </xsd:annotation>
-        <xsd:simpleType>
-           <xsd:restriction base="xsd:string">
-             <xsd:enumeration value="1.1"/>
-             <xsd:enumeration value="1.2"/>
-             <xsd:enumeration value="1.3"/>
-             <xsd:enumeration value="1.4"/>
-             <xsd:enumeration value="1.5"/>
-           </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:attribute>
-      <xsd:attribute name="fassung" use="required" >
-        <xsd:annotation>
-          <xsd:documentation>Dieses Attribut kennzeichnet das Datum, an dem
-            die diesen Schemata im Status final produziert wurde. Format:
-            YYYY-MM-DD.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="2017-03-15"/>
-            <xsd:enumeration value="2018-04-01"/>
-            <xsd:enumeration value="2018-11-01"/>
-            <xsd:enumeration value="2019-06-28"/>
-            <xsd:enumeration value="2020-03-15"/>
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:attribute>
-      <xsd:attribute name="produkt" type="xsd:string" use="optional">
-        <xsd:annotation>
-          <xsd:documentation>In diesem Attribut ist der Name des Produktes
-            (der Software) einzutragen, mit dem diese Nachricht erstellt
-            worden ist. z.B. BSP, PWS</xsd:documentation>
-        </xsd:annotation>
-      </xsd:attribute>
-      <xsd:attribute name="produkthersteller" type="xsd:string" use="optional"/>
-      <xsd:attribute name="produktversion" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:element name="BspQuittung">
-    <xsd:annotation>
-      <xsd:appinfo>
-        <title>Quittung über den Empfang einer BSO-Nachricht</title>
-      </xsd:appinfo>
-      <xsd:documentation>Zu einer empfangenen BSP-Nachricht wird eine
-                Quittung geliefert, die bestätigt, dass die Nachricht übernommen wurde
-                oder aufgrund eines technischen oder fachlichen Fehlers abgewiesen wurde.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:complexType>
-      <xsd:sequence>
-        <xsd:element name="AnnahmeErfolgreich" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
-          <xsd:element name="ErgebnisStatus" type="bsp:SchluesseltabelleType" minOccurs="1" maxOccurs="1">
-            <xsd:annotation>
-              <xsd:documentation>Schluesseltabelle 9006 (0 (erfolgreich angenommen), 99 (sonstiger technischer Fehler), ...)</xsd:documentation>
-            </xsd:annotation>
-          </xsd:element>
-        <xsd:element name="ErgaenzendeHinweise" type="xsd:string" minOccurs="0" maxOccurs="1"/>
-      </xsd:sequence>
-      <xsd:attribute name="version" use="required">
-        <xsd:annotation>
-          <xsd:documentation>Dieses Attribut kennzeichnet die
-            Nachrichten-Version, z. B. "1.0", "1.1".</xsd:documentation>
-        </xsd:annotation>
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="1.1"/>
-			<xsd:enumeration value="1.2"/>
-            <xsd:enumeration value="1.3"/>
-            <xsd:enumeration value="1.4"/>
-            <xsd:enumeration value="1.5"/>
-           </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:attribute>
-      <xsd:attribute name="fassung" use="required">
-        <xsd:annotation>
-          <xsd:documentation>Dieses Attribut kennzeichnet das Datum, an dem
-            die diesen Schemata im Status final produziert wurde. Format:
-            YYYY-MM-DD.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:simpleType>
-          <xsd:restriction base="xsd:string">
-            <xsd:enumeration value="2017-03-15"/>
-            <xsd:enumeration value="2018-04-01"/>
-            <xsd:enumeration value="2018-11-01"/>
-            <xsd:enumeration value="2019-06-28"/>
-            <xsd:enumeration value="2020-03-15"/>			
-          </xsd:restriction>
-        </xsd:simpleType>
-      </xsd:attribute>
-      <xsd:attribute name="produkt" type="xsd:string" use="optional">
-        <xsd:annotation>
-          <xsd:documentation>In diesem Attribut ist der Name des Produktes
-            (der Software) einzutragen, mit dem diese Nachricht erstellt
-            worden ist. z.B. BSP, PWS</xsd:documentation>
-        </xsd:annotation>
-      </xsd:attribute>
-      <xsd:attribute name="produkthersteller" type="xsd:string" use="optional"/>
-      <xsd:attribute name="produktversion" type="xsd:string" use="optional"/>
-    </xsd:complexType>
-  </xsd:element>
-
-  <xsd:complexType name="NachrichtenKopfType">
-    <xsd:sequence>
-      <xsd:element name="Identifikation.Nachricht" type="bsp:Identifikation.NachrichtType" maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="Anwenderkennung" type="xsd:string" minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation> Die Anwenderkennung stellt Informationen über die absendende Person
-          zur Verfügung und dient der Protokollierung.
-          Anhand dieser Kennung kann die absendende Person identifiziert werden.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="Absender" type="bsp:AbsenderType" maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="Empfaenger" type="bsp:EmpfaengerType"  maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="AntwortAuf" type="xsd:string" maxOccurs="1" minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>Eine Nachricht kann mit einer exisiterenden
-            Nachricht in Beziehung gebracht werden als Antwortnachricht oder
-            weitergeleitete Nachricht. Der Bezug erfolgt hierbei über die
-            NachrichtenId.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="WeiterleitungZu" type="xsd:string" minOccurs="0"/>
-      <xsd:element name="lesebestaetigungAntwortAdresse" type="xsd:string" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:complexType name="Identifikation.NachrichtType">
-    <xsd:sequence>
-      <xsd:element name="Ereignis" type="bsp:SchluesseltabelleType">
-        <xsd:annotation>
-          <xsd:documentation>Schluesseltabelle 9001, Schluessel: BspNachricht
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="Erstellungszeitpunkt" type="xsd:dateTime" maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="NachrichtenId" type="xsd:string" maxOccurs="1" minOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>eine beliebige, eindeutige ID, die durch den
-            erstellenden Client generiert wird. Zusammen mit
-            Erstellungszeitpunkt und Absender kann eine Nachricht bsp-global
-            eindeutig identifiziert werden.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="AbsenderType">
-    <xsd:sequence>
-      <xsd:element name="PostkorbId" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Verfahren" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Dienst" type="bsp:NonEmptyString" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Mandant" type="bsp:NonEmptyString" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Gemeindeschluessel" type="bsp:SchluesseltabelleType" minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>Der amtliche Gemeindeschlüssel (AGS).
-            Als Tabellennummer ist hier die 36 (OSCI-XMeld-Schlüsseltabelle "Amtlicher Gemeindeschluessel") zu verwenden.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="Name" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Anschrift" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Email" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Telefon" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Hyperlink" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-   </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="EmpfaengerType">
-    <xsd:sequence>
-      <xsd:element name="PostkorbId" type="xsd:string" maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="Verfahren" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Dienst" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Mandant" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Gemeindeschluessel" type="bsp:SchluesseltabelleType" minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>Der amtliche Gemeindeschlüssel (AGS).
-            Als Tabellennummer ist hier die 36 (OSCI-XMeld-Schlüsseltabelle "Amtlicher Gemeindeschluessel") zu verwenden.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="Name" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-      <xsd:element name="Anschrift" type="xsd:string" maxOccurs="1" minOccurs="0"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="NachrichtenInhaltType">
-    <xsd:sequence>
-      <xsd:element name="Betreff" type="bsp:NonEmptyString" maxOccurs="1"   minOccurs="1"/>
-      <xsd:element name="Kategorie" type="bsp:SchluesseltabelleType" minOccurs="0">
-        <xsd:annotation>
-          <xsd:documentation>Schluesseltabelle 9002 (KAT_STATUS, KAT_INFOBSP, ...)
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:choice minOccurs="0">
-        <xsd:element name="StorkQaaLevel" type="bsp:StorkQaaLevel"/>
-        <xsd:element name="NpaGescheutzt" type="xsd:boolean" >
-          <!-- deprecated, wird durch StorkQaaLevel="STORK-QAA-Level-1" ersetzt -->
-          <xsd:annotation>
-            <xsd:documentation>
-              Diese Nachricht kann im BüsP-Postkorb nur nach
-              vorheriger Anmeldung mit dem nPA gelesen werden.
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
-      </xsd:choice>
-      <xsd:element name="ZuVorgang" type="bsp:ZuVorgangType" minOccurs="0"/>
-      <xsd:element name="FreiText" type="bsp:FreiTextType"/>
-      <xsd:element name="DataContainer" type="bsp:DataContainerType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="ZuVorgangType">
-    <xsd:annotation>
-      <xsd:documentation>VorgangsName oder VorgangsId müssen angegeben
-        werden. Es können auch beide angegeben werden.</xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence minOccurs="0">
-      <xsd:element name="VorgangsName" type="xsd:string"/>
-      <xsd:element name="VorgangsId" type="xsd:string"/>
-      <xsd:element name="VorgangStatus" type="bsp:SchluesseltabelleType">
-        <xsd:annotation>
-          <xsd:documentation>Schluesseltabelle 9003 (ST_ERHALTEN, ST_GELESEN,...)
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="FreiTextType">
-    <xsd:sequence>
-      <xsd:element name="Encoding" type="bsp:SchluesseltabelleType" maxOccurs="1" minOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>Schluesseltabelle 9004 (text/plain, text/html, ...)
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-      <xsd:element name="Text" type="bsp:NonEmptyString" maxOccurs="1" minOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>
-            Wenn als Encoding text/plain festgelegt ist, so wird die Zeichensequenz "\n" als ein Zeilenvorschub interpretiert.
-            Das Backslash-Zeichen (\) wird mit einem weiteren Backslash-Zeichen entwertet.
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="DataContainerType">
-    <xsd:sequence minOccurs="0">
-      <xsd:element name="Inhalt" type="xsd:base64Binary" maxOccurs="1" minOccurs="1"/>
-      <xsd:element name="FileName" maxOccurs="1" minOccurs="0">
-          <xsd:simpleType>
-            <xsd:restriction base="xsd:string">
-              <xsd:maxLength value="255"/>
-            </xsd:restriction>
-          </xsd:simpleType>
-      </xsd:element>
-      <xsd:element name="FileType" type="bsp:SchluesseltabelleType" maxOccurs="1" minOccurs="1">
-        <xsd:annotation>
-          <xsd:documentation>Schluesseltabelle 9005 (application/pdf, text/html, ...)
-          </xsd:documentation>
-        </xsd:annotation>
-      </xsd:element>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="SchluesseltabelleType">
-    <xsd:annotation>
-      <xsd:documentation>Dieser Datentyp wird für Schlüsselwerte benötigt.
-        Mit dem Datentyp SchluesseltabelleType übermittelt man den Schlüssel
-        und die Nummer der Tabelle, in der das Schlüssel-Wert Paar definiert
-        worden ist.
-      </xsd:documentation>
-    </xsd:annotation>
-    <xsd:sequence>
-      <xsd:element name="Tabelle" type="xsd:string"/>
-      <xsd:element name="Schluessel" type="xsd:string"/>
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:simpleType name="StorkQaaLevel">
-    <xsd:restriction base="xsd:string">
-      <!-- since version 1.2 - deprecated -->
-      <xsd:enumeration value="LEVEL_1"/>
-      <xsd:enumeration value="LEVEL_2"/>
-      <xsd:enumeration value="LEVEL_3"/>
-      <xsd:enumeration value="LEVEL_4"/>
-      <!--  since version 1.3 -->
-      <xsd:enumeration value="STORK-QAA-Level-1"/>
-      <xsd:enumeration value="STORK-QAA-Level-2"/>
-      <xsd:enumeration value="STORK-QAA-Level-3"/>
-      <xsd:enumeration value="STORK-QAA-Level-4"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-  <xsd:simpleType name="NonEmptyString">
-    <xsd:restriction base="xsd:string">
-      <xsd:minLength value="1"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-</xsd:schema>
-
-
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/log4j2-local.xml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/log4j2-local.xml
deleted file mode 100644
index 5d7001e1f..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/main/resources/log4j2-local.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
-	<Appenders>
-		<Console name="CONSOLE" target="SYSTEM_OUT">
-			<PatternLayout pattern="[%-5level] %c{1.} %msg%n"/>
-		</Console>
-	</Appenders>
-
-	<Loggers>
-		<Root level="WARN">
-			<appender-ref ref="CONSOLE" />
-		</Root>
-	</Loggers>
-</configuration>
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcServiceITCase.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcServiceITCase.java
deleted file mode 100644
index 8f9468c81..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyGrpcServiceITCase.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import static org.assertj.core.api.Assertions.*;
-
-import java.io.InputStream;
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-
-import org.apache.commons.lang3.tuple.Pair;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.Resource;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
-
-import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
-import com.github.tomakehurst.wiremock.junit5.WireMockTest;
-
-import de.ozgcloud.common.test.ITCase;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb.BayernIdRemoteService;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock.GrpcBayernIdProxyTestClient;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock.MockBayernIdInitializer;
-import io.grpc.StatusRuntimeException;
-import lombok.SneakyThrows;
-import net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration;
-import net.devh.boot.grpc.client.autoconfigure.GrpcClientHealthAutoConfiguration;
-import net.devh.boot.grpc.client.autoconfigure.GrpcClientMetricAutoConfiguration;
-import net.devh.boot.grpc.client.autoconfigure.GrpcClientSecurityAutoConfiguration;
-import net.devh.boot.grpc.client.autoconfigure.GrpcClientTraceAutoConfiguration;
-import net.devh.boot.grpc.client.autoconfigure.GrpcDiscoveryClientAutoConfiguration;
-import net.devh.boot.grpc.client.inject.GrpcClient;
-
-@SpringBootTest(classes = BayernIdProxyApplication.class, properties = {
-		"grpc.server.inProcessName=test",
-		"grpc.client.inProcess.address=in-process:test",
-		"ozgcloud.bayernid.server: http://bayern-id",
-		"ozgcloud.bayernid.useSsl: false"
-})
-@SpringJUnitConfig(classes = BayernIdProxyGrpcServiceITCase.TestConfig.class)
-@DirtiesContext
-@WireMockTest
-@ITCase
-class BayernIdProxyGrpcServiceITCase {
-
-	@Autowired
-	private BayernIdProxyGrpcService service;
-	@Autowired
-	private BayernIdRemoteService bayernIdRemoteService;
-
-	@GrpcClient("inProcess")
-	private BayernIdProxyServiceGrpc.BayernIdProxyServiceStub serviceStub;
-
-	private MockBayernIdInitializer bayernIdInitializer;
-
-	@Value("classpath:test.pdf")
-	private Resource pdfResource;
-	@Value("classpath:test.txt")
-	private Resource txtResource;
-
-	private String pdfName = "test.pdf";
-	private String txtName = "test.txt";
-
-	private GrpcBayernIdProxyTestClient grpcTestClient;
-
-	@BeforeEach
-	void setup(WireMockRuntimeInfo wmRuntimeInfo) {
-		bayernIdRemoteService.setDefaultUri("http://localhost:" + wmRuntimeInfo.getHttpPort());
-		bayernIdInitializer = new MockBayernIdInitializer(wmRuntimeInfo);
-		grpcTestClient = new GrpcBayernIdProxyTestClient(serviceStub);
-	}
-
-	@Test
-	@SneakyThrows
-	void shouldSendMessage() {
-		bayernIdInitializer.createResponseOk();
-
-		var bayernIdResponse = grpcTestClient.sendMessage(GrpcBayernIdMessageMetadataTestFactory.create(), createAttachmentIterator());
-
-		assertThat(bayernIdResponse.isSuccess()).isTrue();
-		assertThat(bayernIdResponse.getStatus()).isEqualTo("0");
-	}
-
-	@SneakyThrows
-	@Test
-	void shouldReceiveErrorResponse() {
-		bayernIdInitializer.createResponseError();
-
-		var bayernIdResponse = grpcTestClient.sendMessage(GrpcBayernIdMessageMetadataTestFactory.create(), createAttachmentIterator());
-
-		assertThat(bayernIdResponse.isSuccess()).isFalse();
-		assertThat(bayernIdResponse.getStatus()).isEqualTo("31");
-		assertThat(bayernIdResponse.getMessage()).isEqualTo("Unzulässiger Nachrichteninhalt");
-	}
-
-	@Test
-	void shouldPassException() {
-		bayernIdInitializer.createResponseWithException();
-
-		try {
-			grpcTestClient.sendMessage(GrpcBayernIdMessageMetadataTestFactory.create(), createAttachmentIterator());
-		} catch (ExecutionException e) {
-			assertException(e.getMessage(), e.getCause());
-		}
-	}
-
-	@Test
-	void shouldPass500Response() {
-		bayernIdInitializer.create500Response();
-
-		try {
-			grpcTestClient.sendMessage(GrpcBayernIdMessageMetadataTestFactory.create(), createAttachmentIterator());
-		} catch (ExecutionException e) {
-			assertException(e.getMessage(), e.getCause());
-		}
-	}
-
-	private void assertException(String exceptionMessage, Throwable cause) {
-		assertThat(cause).isInstanceOf(StatusRuntimeException.class);
-		assertThat(exceptionMessage).contains("(ExceptionId:");
-	}
-
-
-	@SneakyThrows
-	Set<Pair<GrpcAttachmentMetadata, InputStream>> createAttachmentIterator() {
-		return Set.of(
-				Pair.of(GrpcAttachmentMetadata.newBuilder().setFileName(txtName).setFileType("text/plain").build(), txtResource.getInputStream()),
-				Pair.of(GrpcAttachmentMetadata.newBuilder().setFileName(pdfName).setFileType("application/pdf").build(), pdfResource.getInputStream())
-		);
-	}
-
-	@Configuration
-	@ImportAutoConfiguration({
-			GrpcClientAutoConfiguration.class,
-			GrpcClientHealthAutoConfiguration.class,
-			GrpcClientMetricAutoConfiguration.class,
-			GrpcClientSecurityAutoConfiguration.class,
-			GrpcClientTraceAutoConfiguration.class,
-			GrpcDiscoveryClientAutoConfiguration.class
-	})
-	static class TestConfig {
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyServiceTest.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyServiceTest.java
deleted file mode 100644
index 2bda292ba..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdProxyServiceTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-import org.junit.jupiter.api.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb.BayernIdRemoteService;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse;
-
-class BayernIdProxyServiceTest {
-
-	@InjectMocks
-	private BayernIdProxyService service;
-
-	@Mock
-	private BayernIdRemoteService remoteService;
-	@Mock
-	private BayernIdMessage message;
-	@Mock
-	private BayernIdResponse bayernIdResponse;
-
-	@Test
-	void shouldCallRemoteService() {
-		sendMessage();
-
-		verify(remoteService).sendPostfachNachricht(message);
-	}
-
-	@Test
-	void shouldReturnBayernIdResponse() {
-		when(remoteService.sendPostfachNachricht(any())).thenReturn(bayernIdResponse);
-
-		var result = sendMessage();
-
-		assertThat(result).isEqualTo(bayernIdResponse);
-	}
-
-	private BayernIdResponse sendMessage() {
-		return service.sendPostfachNachricht(message);
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdResponseTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdResponseTestFactory.java
deleted file mode 100644
index 09b4146c9..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/BayernIdResponseTestFactory.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse.BayernIdResponseBuilder;
-
-public class BayernIdResponseTestFactory {
-
-	public static final String STATUS = "OK";
-	public static final String MESSAGE = "Message sent successfully";
-
-	public static BayernIdResponse create() {
-		return createBuilder().build();
-	}
-
-	public static BayernIdResponseBuilder createBuilder() {
-		return BayernIdResponse.builder()
-				.success(true)
-				.status(STATUS)
-				.message(MESSAGE);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAbsenderTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAbsenderTestFactory.java
deleted file mode 100644
index a955fd2de..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAbsenderTestFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-public class GrpcAbsenderTestFactory {
-
-	public static final String NAME = "Musterstadt Stadtverwaltung";
-	public static final String ANSCHRIFT = "Musterstraße 1";
-	public static final String EMAIL = "example@mail.loc";
-	public static final String TELEFON = "0456123456789";
-	public static final String HYPERLINK = "http://some.link";
-	public static final String MANDANT = "Musterstadt";
-	public static final String DIENST = "Stadtverwaltung";
-	public static final String GEMEINDE_SCHLUESSEL = "123456789";
-
-	public static GrpcAbsender create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcAbsender.Builder createBuilder() {
-		return GrpcAbsender.newBuilder()
-				.setName(NAME)
-				.setAnschrift(ANSCHRIFT)
-				.setEmail(EMAIL)
-				.setTelefon(TELEFON)
-				.setHyperlink(HYPERLINK)
-				.setMandant(MANDANT)
-				.setDienst(DIENST)
-				.setGemeindeschluessel(GEMEINDE_SCHLUESSEL);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAttachmentMetadataTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAttachmentMetadataTestFactory.java
deleted file mode 100644
index 6972e7a9c..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcAttachmentMetadataTestFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-public class GrpcAttachmentMetadataTestFactory {
-
-	public static final String FILE_TYPE = "plain/text";
-	public static final String FILE_NAME = "test.txt";
-
-	public static GrpcAttachmentMetadata create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcAttachmentMetadata.Builder createBuilder() {
-		return GrpcAttachmentMetadata.newBuilder()
-				.setFileType(FILE_TYPE)
-				.setFileName(FILE_NAME);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcBayernIdMessageMetadataTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcBayernIdMessageMetadataTestFactory.java
deleted file mode 100644
index 854a5c1a2..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcBayernIdMessageMetadataTestFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import java.time.ZonedDateTime;
-import java.util.GregorianCalendar;
-import java.util.UUID;
-
-import javax.xml.datatype.DatatypeFactory;
-
-import lombok.SneakyThrows;
-
-public class GrpcBayernIdMessageMetadataTestFactory {
-
-	public static final String MESSAGE_ID = "messageId";
-	public static final ZonedDateTime CREATED_AT = ZonedDateTime.now();
-	public static final String CREATED_AT_STRING = convertZoneDDateTime(CREATED_AT);
-	public static final String STORK_QAA_LEVEL = "LEVEL_1";
-	public static final String SUBJECT = "subject";
-	public static final String VORGANG_ID = UUID.randomUUID().toString();
-	public static final String MESSAGE_TEXT = "some completely random text";
-
-	public static GrpcBayernIdMessageMetadata create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcBayernIdMessageMetadata.Builder createBuilder() {
-		return GrpcBayernIdMessageMetadata.newBuilder()
-				.setMessageId(MESSAGE_ID)
-				.setCreatedAt(convertZoneDDateTime(CREATED_AT))
-				.setAbsender(GrpcAbsenderTestFactory.create())
-				.setEmpfaenger(GrpcEmpfaengerTestFactory.create())
-				.setSubject(SUBJECT)
-				.setStorkQaaLevel(STORK_QAA_LEVEL)
-				.setVorgangId(VORGANG_ID)
-				.setText(MESSAGE_TEXT);
-	}
-
-	@SneakyThrows
-	public static String convertZoneDDateTime(ZonedDateTime dateTime) {
-		return DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.from(dateTime)).toString();
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcEmpfaengerTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcEmpfaengerTestFactory.java
deleted file mode 100644
index 5a0df8232..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/GrpcEmpfaengerTestFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-public class GrpcEmpfaengerTestFactory {
-
-	public static final String POSTFACH_ID = "postfach-id-1";
-	public static final String NAME = "Max Empfaenger";
-	public static final String ANSCHRIFT = "anschrift";
-
-	public static GrpcEmpfaenger create() {
-		return createBuilder().build();
-	}
-
-	public static GrpcEmpfaenger.Builder createBuilder() {
-		return GrpcEmpfaenger.newBuilder()
-				.setPostkorbId(POSTFACH_ID)
-				.setName(NAME)
-				.setAnschrift(ANSCHRIFT);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserverTest.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserverTest.java
deleted file mode 100644
index d6efd8899..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/UploadStreamObserverTest.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.file.Path;
-import java.util.concurrent.atomic.AtomicReference;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Spy;
-import org.mockito.junit.jupiter.MockitoExtension;
-import org.springframework.test.util.ReflectionTestUtils;
-
-import com.google.protobuf.ByteString;
-
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.Attachment;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage.BayernIdMessageBuilder;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageTestFactory;
-import io.grpc.stub.StreamObserver;
-import lombok.SneakyThrows;
-
-class UploadStreamObserverTest {
-
-	@Spy
-	@InjectMocks
-	private UploadStreamObserver uploadStreamObserver;
-
-	@Mock
-	private StreamObserver<GrpcSendBayernIdMessageResponse> responseObserver;
-	@Mock
-	private BayernIdProxyService proxyService;
-	@Mock
-	private BayernIdMessageMapper messageMapper;
-	@Mock
-	private BayernIdMessageBuilder bayernIdMessageBuilder;
-	@Mock
-	private AtomicReference<BayernIdMessageBuilder> messageBuilderAtomicReference;
-
-	@Nested
-	class TestOnNext {
-
-		@Test
-		void shouldCallReadMetadata() {
-			var messageMetadata = GrpcBayernIdMessageMetadataTestFactory.create();
-			var sendRequest = GrpcSendBayernIdMessageRequest.newBuilder().setMessageMetadata(messageMetadata).build();
-
-			uploadStreamObserver.onNext(sendRequest);
-
-			verify(uploadStreamObserver).readMessageMetadata(messageMetadata);
-			verify(uploadStreamObserver, never()).readAttachments(any());
-		}
-
-		@Test
-		void shouldCallReadAttachment() {
-			var attachments = GrpcAttachments.newBuilder().setAttachmentMetadata(GrpcAttachmentMetadataTestFactory.create()).build();
-			var sendRequest = GrpcSendBayernIdMessageRequest.newBuilder().setAttachments(attachments).build();
-			doNothing().when(uploadStreamObserver).readAttachments(any());
-
-			uploadStreamObserver.onNext(sendRequest);
-
-			verify(uploadStreamObserver).readAttachments(attachments);
-			verify(uploadStreamObserver, never()).readMessageMetadata(any());
-		}
-	}
-
-	@Nested
-	class TestReadMessageMetadata {
-
-		private GrpcBayernIdMessageMetadata messageMetadata = GrpcBayernIdMessageMetadataTestFactory.create();
-
-		@BeforeEach
-		void setup() {
-			ReflectionTestUtils.setField(uploadStreamObserver, "messageBuilder", messageBuilderAtomicReference);
-		}
-
-		@Test
-		void shouldCallMessageMapper() {
-			uploadStreamObserver.readMessageMetadata(messageMetadata);
-
-			verify(messageMapper).toBayernIdMessage(messageMetadata);
-		}
-
-		@Test
-		void shouldSetMessageBuilder() {
-			when(messageMapper.toBayernIdMessage(any())).thenReturn(bayernIdMessageBuilder);
-
-			uploadStreamObserver.readMessageMetadata(messageMetadata);
-
-			verify(messageBuilderAtomicReference).set(bayernIdMessageBuilder);
-		}
-
-	}
-
-	@Nested
-	class TestReadAttachments {
-
-		@Test
-		void shouldCallAddContainer() {
-			var attachmentMetadata = GrpcAttachmentMetadataTestFactory.create();
-			doNothing().when(uploadStreamObserver).addDataContainer(any());
-
-			uploadStreamObserver.readAttachments(GrpcAttachments.newBuilder().setAttachmentMetadata(attachmentMetadata).build());
-
-			verify(uploadStreamObserver).addDataContainer(attachmentMetadata);
-			verify(uploadStreamObserver, never()).writeAttachment(any());
-		}
-
-		@Test
-		void shouldCallWriteAttachment() {
-			var content = ByteString.copyFromUtf8("attachment");
-			var attachment = GrpcAttachments.newBuilder().setContent(content).build();
-			doNothing().when(uploadStreamObserver).writeAttachment(any());
-
-			uploadStreamObserver.readAttachments(attachment);
-
-			verify(uploadStreamObserver).writeAttachment(content);
-			verify(uploadStreamObserver, never()).addDataContainer(any());
-		}
-
-		@Nested
-		class TestAddDataContainer {
-
-			private GrpcAttachmentMetadata grpcAttachmentMetadata = GrpcAttachmentMetadataTestFactory.create();
-
-			@Mock
-			private Attachment attachment;
-
-			@Mock
-			private AtomicReference<BayernIdMessageBuilder> atomicMessageBuilder;
-
-			@BeforeEach
-			void setup() {
-				when(atomicMessageBuilder.get()).thenReturn(bayernIdMessageBuilder);
-				ReflectionTestUtils.setField(uploadStreamObserver, "messageBuilder", atomicMessageBuilder);
-			}
-
-			@Test
-			void shouldCallBuildAttachment() {
-				uploadStreamObserver.addDataContainer(grpcAttachmentMetadata);
-
-				verify(uploadStreamObserver).buildAttachment(grpcAttachmentMetadata);
-			}
-
-			@Test
-			void shouldAddAttachment() {
-				doReturn(attachment).when(uploadStreamObserver).buildAttachment(any());
-
-				uploadStreamObserver.addDataContainer(grpcAttachmentMetadata);
-
-				verify(bayernIdMessageBuilder).attachment(attachment);
-			}
-		}
-
-		@Nested
-		class TestBuildAttachment {
-
-			private GrpcAttachmentMetadata grpcAttachmentMetadata = GrpcAttachmentMetadataTestFactory.create();
-
-			@Mock
-			private InputStream tmpFileInputStream;
-
-			@BeforeEach
-			void setup() {
-				doReturn(tmpFileInputStream).when(uploadStreamObserver).createTemporallyFile(any());
-			}
-
-			@Test
-			void shouldCallCreateTemporallyFile() {
-				uploadStreamObserver.buildAttachment(grpcAttachmentMetadata);
-
-				verify(uploadStreamObserver).createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-			}
-
-			@Test
-			void shouldSetTemporallyFile() {
-				var result = uploadStreamObserver.buildAttachment(grpcAttachmentMetadata);
-
-				assertThat(result.getContent()).isEqualTo(tmpFileInputStream);
-			}
-
-			@Test
-			void shouldSetAttachmentName() {
-				var result = uploadStreamObserver.buildAttachment(grpcAttachmentMetadata);
-
-				assertThat(result.getName()).isEqualTo(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-			}
-
-			@Test
-			void shouldSetAttachmentType() {
-				var result = uploadStreamObserver.buildAttachment(grpcAttachmentMetadata);
-
-				assertThat(result.getType()).isEqualTo(GrpcAttachmentMetadataTestFactory.FILE_TYPE);
-			}
-		}
-
-		@Nested
-		class TestCreateTemporallyFile {
-
-			@Mock
-			private OutputStream attachmentWriter;
-			@Mock
-			private InputStream tmpFileInputStream;
-
-			private Path tempFilePath = Path.of("tempFile");
-
-			@Test
-			void shouldCallCloseTemporallyFile() {
-
-				uploadStreamObserver.createTemporallyFile("test.txt");
-
-				verify(uploadStreamObserver).closeTemporallyWriter();
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldCallCreateFile() {
-				uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-
-				verify(uploadStreamObserver).createFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldCallNewOutputStream() {
-				doReturn(tempFilePath).when(uploadStreamObserver).createFile(any());
-
-				uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-
-				verify(uploadStreamObserver).newOutputStream(tempFilePath);
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldInitializeOutputWriter() {
-				doReturn(attachmentWriter).when(uploadStreamObserver).newOutputStream(any());
-
-				uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-
-				assertThat(getAttachmentWriter()).isEqualTo(attachmentWriter);
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldCallNewInputStream() {
-				doReturn(tempFilePath).when(uploadStreamObserver).createFile(any());
-
-				uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-
-				verify(uploadStreamObserver).newInputStream(tempFilePath);
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldReturnInputStream() {
-				doReturn(tmpFileInputStream).when(uploadStreamObserver).newInputStream(any());
-
-				var result = uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME);
-
-				assertThat(result).isEqualTo(tmpFileInputStream);
-			}
-
-			@SneakyThrows
-			@Test
-			void shouldThrowException() {
-				doThrow(new IOException()).when(uploadStreamObserver).createFile(any());
-
-				assertThrows(TechnicalException.class, () -> uploadStreamObserver.createTemporallyFile(GrpcAttachmentMetadataTestFactory.FILE_NAME));
-			}
-
-			private OutputStream getAttachmentWriter() {
-				return (OutputStream) ReflectionTestUtils.getField(uploadStreamObserver, "attachmentWriter");
-			}
-		}
-	}
-
-	@Nested
-	class TestOnError {
-
-		@Test
-		void shouldCallCloseTemporallyWriter() {
-			try {
-				uploadStreamObserver.onError(new RuntimeException());
-			} catch (TechnicalException e) {
-				// expected
-			}
-
-			verify(uploadStreamObserver).closeTemporallyWriter();
-		}
-
-		@Test
-		void shouldTrowTechnicalException() {
-			var cause = new RuntimeException();
-
-			var thrownException = assertThrows(TechnicalException.class, () -> uploadStreamObserver.onError(cause));
-
-			assertThat(thrownException.getCause()).isEqualTo(cause);
-		}
-	}
-
-	@Nested
-	class TestOnComplete {
-
-		@BeforeEach
-		void setup() {
-			when(messageBuilderAtomicReference.get()).thenReturn(bayernIdMessageBuilder);
-			ReflectionTestUtils.setField(uploadStreamObserver, "messageBuilder", messageBuilderAtomicReference);
-		}
-
-		@Test
-		void shouldCallCloseTemporallyWriter() {
-			uploadStreamObserver.onCompleted();
-
-			verify(uploadStreamObserver).closeTemporallyWriter();
-		}
-
-		@Test
-		void shouldCallSendBayernIdMessage() {
-			var bayernIdMessage = BayernIdMessageTestFactory.create();
-			when(bayernIdMessageBuilder.build()).thenReturn(bayernIdMessage);
-
-			uploadStreamObserver.onCompleted();
-
-			verify(proxyService).sendPostfachNachricht(bayernIdMessage);
-		}
-
-		@Test
-		void shouldCallMessageMapper() {
-			var bayernIdResponse = BayernIdResponseTestFactory.create();
-			when(proxyService.sendPostfachNachricht(any())).thenReturn(bayernIdResponse);
-
-			uploadStreamObserver.onCompleted();
-
-			verify(messageMapper).fromBayernIdResponse(bayernIdResponse);
-		}
-
-		@Test
-		void shouldCallResponseObserver() {
-			var grpcSendResponse = GrpcSendBayernIdMessageResponse.newBuilder().build();
-			when(messageMapper.fromBayernIdResponse(any())).thenReturn(grpcSendResponse);
-
-			uploadStreamObserver.onCompleted();
-
-			verify(responseObserver).onNext(grpcSendResponse);
-		}
-
-		@Test
-		void shouldCallSendResponse() {
-			uploadStreamObserver.onCompleted();
-
-			verify(responseObserver).onNext(any());
-		}
-
-		@Test
-		void shouldCallComplete() {
-			uploadStreamObserver.onCompleted();
-
-			verify(responseObserver).onCompleted();
-		}
-
-		@Test
-		void shouldThrowTechnicalException() {
-			var cause = new RuntimeException();
-
-			doThrow(cause).when(proxyService).sendPostfachNachricht(any());
-
-			var receivedException = assertThrows(TechnicalException.class, () -> uploadStreamObserver.onCompleted());
-			assertThat(receivedException.getCause()).isEqualTo(cause);
-		}
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteServiceTest.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteServiceTest.java
deleted file mode 100644
index 9d257bd0a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/akdb/BayernIdRemoteServiceTest.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.akdb;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-import jakarta.xml.bind.JAXBElement;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Spy;
-import org.springframework.ws.client.core.WebServiceTemplate;
-
-import akdb.bsp.postkorb.komm.webservice.ObjectFactory;
-import akdb.bsp.postkorb.komm.webservice.SendBspNachrichtNative;
-import akdb.bsp.postkorb.komm.webservice.SendBspNachrichtNativeOutput;
-import de.akdb.egov.bsp.nachrichten.BspNachricht;
-import de.akdb.egov.bsp.nachrichten.BspQuittung;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessageMapper;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdResponse;
-
-class BayernIdRemoteServiceTest {
-
-	@Spy
-	@InjectMocks
-	private BayernIdRemoteService service;
-
-	@Mock
-	private BayernIdMessageMapper messageMapper;
-	@Mock
-	private ObjectFactory objectFactory;
-
-	@Nested
-	class TestSendPostfachNachricht {
-
-		@Mock
-		private SendBspNachrichtNative sendNachricht;
-		@Mock
-		private SendBspNachrichtNativeOutput sendBspNachrichtResponse;
-		@Mock
-		private BspQuittung bspQuittung;
-		@Mock
-		private JAXBElement<SendBspNachrichtNativeOutput> jaxbSendBspNachrichtNativeOutput;
-		@Mock
-		private BayernIdResponse response;
-		@Mock
-		private BayernIdMessage message;
-
-		@BeforeEach
-		void setup(){
-			doReturn(bspQuittung).when(service).createBspQuitung(any());
-			doReturn(sendNachricht).when(service).createSendNachricht(any());
-		}
-
-		@Test
-		void shouldCallCreateSendNachricht() {
-			doReturn(jaxbSendBspNachrichtNativeOutput).when(service).send(any());
-
-			sendMessage();
-
-			verify(service).createSendNachricht(message);
-		}
-
-		@Test
-		void shouldCallSendBspNachricht() {
-			doReturn(jaxbSendBspNachrichtNativeOutput).when(service).send(any());
-
-			sendMessage();
-
-			verify(service).sendBspNachricht(sendNachricht);
-		}
-
-		@Test
-		void shouldCallCreateBspQuitung() {
-			doReturn(sendBspNachrichtResponse).when(service).sendBspNachricht(any());
-
-			sendMessage();
-
-			verify(service).createBspQuitung(sendBspNachrichtResponse);
-		}
-
-		@Test
-		void shouldCallMessageMapper() {
-			doReturn(sendBspNachrichtResponse).when(service).sendBspNachricht(any());
-
-			sendMessage();
-
-			verify(messageMapper).toBayernIdResponse(bspQuittung);
-		}
-
-		@Test
-		void shouldReturnResponse() {
-			doReturn(response).when(messageMapper).toBayernIdResponse(bspQuittung);
-			doReturn(sendBspNachrichtResponse).when(service).sendBspNachricht(any());
-
-			var result = sendMessage();
-
-			assertThat(result).isEqualTo(response);
-		}
-
-		private BayernIdResponse sendMessage() {
-			return service.sendPostfachNachricht(message);
-		}
-
-	}
-
-	@Nested
-	class TestCreateSendNachricht {
-
-		private static final String RESULT_STRING = "result";
-
-		@Mock
-		private BayernIdMessage message;
-		@Mock
-		private BspNachricht bspNachricht;
-
-		@BeforeEach
-		void setup() {
-			doReturn(RESULT_STRING).when(service).buildBspNachrichtXml(any());
-		}
-
-		@Test
-		void shouldCallMessageMapper() {
-			service.createSendNachricht(message);
-
-			verify(messageMapper).toBspNachricht(message);
-		}
-
-		@Test
-		void shouldCallBuildBspNachrichtXml() {
-			when(messageMapper.toBspNachricht(any())).thenReturn(bspNachricht);
-
-			service.createSendNachricht(message);
-
-			verify(service).buildBspNachrichtXml(bspNachricht);
-		}
-
-		@Test
-		void shouldSetBspNachricht() {
-			var result = service.createSendNachricht(message);
-
-			assertThat(result.getBspNachricht()).isEqualTo(RESULT_STRING);
-		}
-	}
-
-	@Nested
-	class TestSendBspNachricht {
-
-		@Mock
-		private SendBspNachrichtNative sendBspNachrichtRequest;
-		@Mock
-		private JAXBElement<SendBspNachrichtNative> jaxbSendBspNachrichtNative;
-		@Mock
-		private JAXBElement<SendBspNachrichtNativeOutput> jaxbSendBspNachrichtNativeOutput;
-		@Mock
-		private SendBspNachrichtNativeOutput response;
-
-		@BeforeEach
-		void setup() {
-			doReturn(jaxbSendBspNachrichtNativeOutput).when(service).send(any());
-			when(jaxbSendBspNachrichtNativeOutput.getValue()).thenReturn(response);
-		}
-
-		@Test
-		void shouldCallMarshaller() {
-			service.sendBspNachricht(sendBspNachrichtRequest);
-
-			verify(objectFactory).createSendBspNachrichtNative(sendBspNachrichtRequest);
-		}
-
-		@Test
-		void shouldReturnValue() {
-			var sendBspNachrichtNativeOutput = service.sendBspNachricht(sendBspNachrichtRequest);
-
-			assertThat(sendBspNachrichtNativeOutput).isEqualTo(response);
-		}
-
-		@Test
-		void shouldCallSend() {
-			when(objectFactory.createSendBspNachrichtNative(any())).thenReturn(jaxbSendBspNachrichtNative);
-
-			service.sendBspNachricht(sendBspNachrichtRequest);
-
-			verify(service).send(jaxbSendBspNachrichtNative);
-		}
-
-	}
-
-	@Nested
-	class TestSend {
-
-		@Mock
-		private JAXBElement<SendBspNachrichtNative> jaxbSendBspNachrichtNative;
-		@Mock
-		private WebServiceTemplate webServiceTemplate;
-
-		@Test
-		void shouldCallMarshalSendAndReceive() {
-			doReturn(webServiceTemplate).when(service).getWebServiceTemplate();
-
-			service.send(jaxbSendBspNachrichtNative);
-
-			verify(webServiceTemplate).marshalSendAndReceive(jaxbSendBspNachrichtNative);
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandlerTest.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandlerTest.java
deleted file mode 100644
index ad74aeceb..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/errorhandling/ExceptionHandlerTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.errorhandling;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Spy;
-
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.common.grpc.GrpcUtil;
-import io.grpc.Metadata;
-import io.grpc.Status;
-import io.grpc.Status.Code;
-import io.grpc.StatusException;
-
-class ExceptionHandlerTest {
-
-	@Spy
-	@InjectMocks
-	private ExceptionHandler exceptionHandler;
-
-	@Nested
-	class TestHandleTechnicalException {
-
-		private static final TechnicalException EXCEPTION = new TechnicalException("Test");
-
-		@Mock
-		private Metadata metadata;
-		@Mock
-		private StatusException statusException;
-
-		@Test
-		void shouldCallBuildInternalStatus() {
-			exceptionHandler.handleTechnicalException(EXCEPTION);
-
-			verify(exceptionHandler).buildInternalStatus(EXCEPTION);
-		}
-
-		@Test
-		void shouldCallBuildMetadata() {
-			exceptionHandler.handleTechnicalException(EXCEPTION);
-
-			verify(exceptionHandler).buildMetadata(EXCEPTION.getExceptionId());
-		}
-
-		@Test
-		void shouldCallCreateStatusException() {
-			var status = Status.INTERNAL;
-			doReturn(status).when(exceptionHandler).buildInternalStatus(any());
-			doReturn(metadata).when(exceptionHandler).buildMetadata(any());
-
-			exceptionHandler.handleTechnicalException(EXCEPTION);
-
-			verify(exceptionHandler).createStatusException(status, metadata);
-		}
-
-		@Test
-		void shouldReturnStatusException() {
-			doReturn(statusException).when(exceptionHandler).createStatusException(any(), any());
-
-			var result = exceptionHandler.handleTechnicalException(EXCEPTION);
-
-			assertThat(result).isEqualTo(statusException);
-		}
-	}
-
-	@Nested
-	class TestHandleRuntimeException {
-
-		private static final RuntimeException EXCEPTION = new RuntimeException("Test");
-
-		@Mock
-		private Metadata metadata;
-		@Mock
-		private StatusException statusException;
-
-		@Test
-		void shouldCallBuildInternalStatus() {
-			exceptionHandler.handleRuntimeException(EXCEPTION);
-
-			verify(exceptionHandler).buildInternalStatus(EXCEPTION);
-		}
-
-		@Test
-		void shouldCallCreateExceptionId() {
-			exceptionHandler.handleRuntimeException(EXCEPTION);
-
-			verify(exceptionHandler).createExceptionId();
-		}
-
-		@Test
-		void shouldCallBuildMetadata() {
-			var exceptionId = "42";
-			doReturn(exceptionId).when(exceptionHandler).createExceptionId();
-
-			exceptionHandler.handleRuntimeException(EXCEPTION);
-
-			verify(exceptionHandler).buildMetadata(exceptionId);
-		}
-
-		@Test
-		void shouldCallCreateStatusException() {
-			var status = Status.INTERNAL;
-			doReturn(status).when(exceptionHandler).buildInternalStatus(any());
-			doReturn(metadata).when(exceptionHandler).buildMetadata(any());
-
-			exceptionHandler.handleRuntimeException(EXCEPTION);
-
-			verify(exceptionHandler).createStatusException(status, metadata);
-		}
-
-		@Test
-		void shouldReturnStatusException() {
-			doReturn(statusException).when(exceptionHandler).createStatusException(any(), any());
-
-			var result = exceptionHandler.handleRuntimeException(EXCEPTION);
-
-			assertThat(result).isEqualTo(statusException);
-		}
-	}
-
-	@Nested
-	class TestBuildInternalStatus {
-
-		private static final Exception CAUSE = new Exception("Cause");
-		private static final RuntimeException EXCEPTION = new RuntimeException("Test", CAUSE);
-
-		@Test
-		void shouldSetInternalStatusCode() {
-			var result = exceptionHandler.buildInternalStatus(EXCEPTION);
-
-			assertThat(result.getCode()).isEqualTo(Code.INTERNAL);
-		}
-
-		@Test
-		void shouldSetDescription() {
-			var result = exceptionHandler.buildInternalStatus(EXCEPTION);
-
-			assertThat(result.getDescription()).isEqualTo(EXCEPTION.getMessage());
-		}
-
-		@Test
-		void shouldSetCause() {
-			var result = exceptionHandler.buildInternalStatus(EXCEPTION);
-
-			assertThat(result.getCause()).isEqualTo(CAUSE);
-		}
-	}
-
-	@Nested
-	class TestBuildMetadata {
-
-		private static final String EXCEPTION_ID = "42";
-		@Test
-		void shouldSetExceptionIdKey() {
-			var result = exceptionHandler.buildMetadata(EXCEPTION_ID);
-
-			assertThat(result.keys()).containsOnly(ExceptionHandler.KEY_EXCEPTION_ID.toLowerCase());
-		}
-
-		@Test
-		void shouldSetExceptionIdValue() {
-			var result = exceptionHandler.buildMetadata(EXCEPTION_ID);
-
-			assertThat(result.get(GrpcUtil.keyOfString(ExceptionHandler.KEY_EXCEPTION_ID))).isEqualTo(EXCEPTION_ID);
-		}
-
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AbsenderTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AbsenderTestFactory.java
deleted file mode 100644
index 31164b3b2..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AbsenderTestFactory.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.Absender.AbsenderBuilder;
-
-public class AbsenderTestFactory {
-
-	public static final String ABSENDER_POSTKORB_ID = "absenderPostkorbId";
-	public static final String NAME = "Musterstadt Stadtverwaltung";
-	public static final String ANSCHRIFT = "Musterstraße 1";
-	public static final String EMAIL = "mail@exam.ple";
-	public static final String TELEFON = "0456123456789";
-	public static final String HYPERLINK = "http://some.link";
-	public static final String MANDANT = "Musterstadt";
-	public static final String DIENST = "Stadtverwaltung";
-	public static final String GEMEINDE_SCHLUESSEL = "123456789";
-
-	public static Absender create() {
-		return createBuilder().build();
-	}
-
-	public static AbsenderBuilder createBuilder() {
-		return Absender.builder()
-				.postkorbId(ABSENDER_POSTKORB_ID)
-				.name(NAME)
-				.anschrift(ANSCHRIFT)
-				.email(EMAIL)
-				.telefon(TELEFON)
-				.hyperlink(HYPERLINK)
-				.mandant(MANDANT)
-				.dienst(DIENST)
-				.gemeindeschluessel(GEMEINDE_SCHLUESSEL);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AttachmentTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AttachmentTestFactory.java
deleted file mode 100644
index bc3f4fd37..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/AttachmentTestFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import java.io.ByteArrayInputStream;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.Attachment.AttachmentBuilder;
-
-public class AttachmentTestFactory {
-
-	public static final String FILE_NAME = "test.txt";
-	public static final String TYPE = "plain/text";
-	public static final byte[] CONTENT = "test".getBytes();
-
-	public static Attachment create() {
-		return createBuilder().build();
-	}
-
-	public static AttachmentBuilder createBuilder() {
-		return Attachment.builder()
-				.name(FILE_NAME)
-				.type(TYPE)
-				.content(new ByteArrayInputStream(CONTENT));
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapperTest.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapperTest.java
deleted file mode 100644
index f807b82c3..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageMapperTest.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-import java.io.ByteArrayInputStream;
-import java.util.List;
-
-import org.junit.jupiter.api.Nested;
-import org.junit.jupiter.api.Test;
-import org.mapstruct.factory.Mappers;
-import org.mockito.Mockito;
-import org.testcontainers.shaded.org.apache.commons.io.IOUtils;
-
-import de.akdb.egov.bsp.nachrichten.BspNachricht;
-import de.akdb.egov.bsp.nachrichten.BspQuittung;
-import de.akdb.egov.bsp.nachrichten.DataContainerType;
-import de.akdb.egov.bsp.nachrichten.FreiTextType;
-import de.akdb.egov.bsp.nachrichten.NachrichtenInhaltType;
-import de.akdb.egov.bsp.nachrichten.NachrichtenKopfType;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.BayernIdResponseTestFactory;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAbsenderTestFactory;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadata;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadataTestFactory;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcEmpfaengerTestFactory;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageResponse;
-import lombok.SneakyThrows;
-
-class BayernIdMessageMapperTest {
-
-	private BayernIdMessageMapper mapper = Mappers.getMapper(BayernIdMessageMapper.class);
-
-	@Nested
-	class ToBayernIdMessage {
-
-		private static final GrpcBayernIdMessageMetadata MESSAGE_METADATA = GrpcBayernIdMessageMetadataTestFactory.create();
-
-		@Test
-		void shouldSetMessageId() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getMessageId()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.MESSAGE_ID);
-		}
-
-		@Test
-		void shouldSetCreatedAt() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getCreatedAt()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.CREATED_AT_STRING);
-		}
-
-		@Test
-		void shouldSetSubject() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getSubject()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.SUBJECT);
-		}
-
-		@Test
-		void shoulSetStorkQaaLevel() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getStorkQaaLevel()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.STORK_QAA_LEVEL);
-		}
-
-		@Test
-		void shouldSetVorgangId() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getVorgangId()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.VORGANG_ID);
-		}
-
-		@Test
-		void shouldSetText() {
-			var result = mapToBayernIdMessage();
-
-			assertThat(result.getText()).isEqualTo(GrpcBayernIdMessageMetadataTestFactory.MESSAGE_TEXT);
-		}
-
-		@Nested
-		class TestSetAbsender {
-
-			@Test
-			void shouldSetName() {
-				var result = mapToAbsender();
-
-				assertThat(result.getName()).isEqualTo(GrpcAbsenderTestFactory.NAME);
-			}
-
-			@Test
-			void shouldSetAnschrift() {
-				var result = mapToAbsender();
-
-				assertThat(result.getAnschrift()).isEqualTo(GrpcAbsenderTestFactory.ANSCHRIFT);
-			}
-
-			@Test
-			void shouldSetEmail() {
-				var result = mapToAbsender();
-
-				assertThat(result.getEmail()).isEqualTo(GrpcAbsenderTestFactory.EMAIL);
-			}
-
-			@Test
-			void shouldSetTelefon() {
-				var result = mapToAbsender();
-
-				assertThat(result.getTelefon()).isEqualTo(GrpcAbsenderTestFactory.TELEFON);
-			}
-
-			@Test
-			void shouldSetHyperlink() {
-				var result = mapToAbsender();
-
-				assertThat(result.getHyperlink()).isEqualTo(GrpcAbsenderTestFactory.HYPERLINK);
-			}
-
-			@Test
-			void shouldSetMandant() {
-				var result = mapToAbsender();
-
-				assertThat(result.getMandant()).isEqualTo(GrpcAbsenderTestFactory.MANDANT);
-			}
-
-			@Test
-			void shouldSetDienst() {
-				var result = mapToAbsender();
-
-				assertThat(result.getDienst()).isEqualTo(GrpcAbsenderTestFactory.DIENST);
-			}
-
-			@Test
-			void shouldSetGemeindeschluessel() {
-				var result = mapToAbsender();
-
-				assertThat(result.getGemeindeschluessel()).isEqualTo(GrpcAbsenderTestFactory.GEMEINDE_SCHLUESSEL);
-			}
-
-			private Absender mapToAbsender() {
-				var bayernIdMessage = mapToBayernIdMessage();
-				assertThat(bayernIdMessage.getAbsender()).isNotNull();
-				return bayernIdMessage.getAbsender();
-			}
-		}
-
-		@Nested
-		class TestSetEmpfaenger {
-
-			@Test
-			void shouldSetPostfachId() {
-				var result = mapToEmpfänger();
-
-				assertThat(result.getPostkorbId()).isEqualTo(GrpcEmpfaengerTestFactory.POSTFACH_ID);
-			}
-
-			@Test
-			void shouldSetName() {
-				var result = mapToEmpfänger();
-
-				assertThat(result.getName()).isEqualTo(GrpcEmpfaengerTestFactory.NAME);
-			}
-
-			@Test
-			void shouldSetAnschrift() {
-				var result = mapToEmpfänger();
-
-				assertThat(result.getAnschrift()).isEqualTo(GrpcEmpfaengerTestFactory.ANSCHRIFT);
-			}
-
-			private Empfaenger mapToEmpfänger() {
-				var bayernIdMessage = mapToBayernIdMessage();
-				assertThat(bayernIdMessage.getEmpfaenger()).isNotNull();
-				return bayernIdMessage.getEmpfaenger();
-
-			}
-		}
-
-		private BayernIdMessage mapToBayernIdMessage() {
-			return mapper.toBayernIdMessage(MESSAGE_METADATA).build();
-		}
-	}
-
-	@Nested
-	class TestFromBayernIdResponse {
-
-		private static final BayernIdResponse BAYERN_ID_RESPONSE = BayernIdResponseTestFactory.create();
-
-		@Test
-		void shouldSetSuccess() {
-			var result = mapToGrpcSendBayernIdMessageResponse();
-
-			assertThat(result.getSuccess()).isTrue();
-		}
-
-		@Test
-		void shouldSetStatus() {
-			var result = mapToGrpcSendBayernIdMessageResponse();
-
-			assertThat(result.getStatus()).isEqualTo(BayernIdResponseTestFactory.STATUS);
-		}
-
-		@Test
-		void shouldSetMessage() {
-			var result = mapToGrpcSendBayernIdMessageResponse();
-
-			assertThat(result.getMessage()).isEqualTo(BayernIdResponseTestFactory.MESSAGE);
-		}
-
-		private GrpcSendBayernIdMessageResponse mapToGrpcSendBayernIdMessageResponse() {
-			return mapper.fromBayernIdResponse(BAYERN_ID_RESPONSE);
-		}
-	}
-
-	@Nested
-	class TestToBspNachricht {
-
-		@Nested
-		class TestSetNachrichtenKopf {
-
-			@Test
-			void shouldSetNachrichtId() {
-				var result = mapToNachrichtenKopf().getIdentifikationNachricht();
-
-				assertThat(result.getNachrichtenId()).isEqualTo(BayernIdMessageTestFactory.MESSAGE_ID);
-			}
-
-			@Test
-			void shouldSetErstellungszeitpunkt() {
-				var result = mapToNachrichtenKopf().getIdentifikationNachricht();
-
-				assertThat(result.getErstellungszeitpunkt()).hasToString(BayernIdMessageTestFactory.CREATED_AT);
-			}
-
-			@Nested
-			class TestMapEmpfaenger {
-
-				@Test
-				void shouldSetPostkorbId() {
-					var result = mapToNachrichtenKopf().getEmpfaenger();
-
-					assertThat(result.getPostkorbId()).isEqualTo(EmpfaengerTestFactory.POSTKORB_ID);
-				}
-
-				@Test
-				void shouldSetName() {
-					var result = mapToNachrichtenKopf().getEmpfaenger();
-
-					assertThat(result.getName()).isEqualTo(EmpfaengerTestFactory.NAME);
-				}
-
-				@Test
-				void shouldSetAnschrift() {
-					var result = mapToNachrichtenKopf().getEmpfaenger();
-
-					assertThat(result.getAnschrift()).isEqualTo(EmpfaengerTestFactory.ANSCHRIFT);
-				}
-			}
-
-			@Nested
-			class TestMapAbsender {
-
-				@Test
-				void shouldSetName() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getName()).isEqualTo(AbsenderTestFactory.NAME);
-				}
-
-				@Test
-				void shouldSetAnschrift() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getAnschrift()).isEqualTo(AbsenderTestFactory.ANSCHRIFT);
-				}
-
-				@Test
-				void shouldSetEmail() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getEmail()).isEqualTo(AbsenderTestFactory.EMAIL);
-				}
-
-				@Test
-				void shouldSetTelefon() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getTelefon()).isEqualTo(AbsenderTestFactory.TELEFON);
-				}
-
-				@Test
-				void shouldSetHyperlink() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getHyperlink()).isEqualTo(AbsenderTestFactory.HYPERLINK);
-				}
-
-				@Test
-				void shouldSetMandant() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getMandant()).isEqualTo(AbsenderTestFactory.MANDANT);
-				}
-
-				@Test
-				void shouldSetDienst() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getDienst()).isEqualTo(AbsenderTestFactory.DIENST);
-				}
-
-				@Test
-				void shouldSetGemeindeschluessel() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getGemeindeschluessel().getSchluessel()).isEqualTo(AbsenderTestFactory.GEMEINDE_SCHLUESSEL);
-				}
-
-				@Test
-				void shouldSetPostkorbId() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getPostkorbId()).isEqualTo(AbsenderTestFactory.ABSENDER_POSTKORB_ID);
-				}
-
-				@Test
-				void shouldSetGemeindeschluesselTabelle() {
-					var result = mapToNachrichtenKopf().getAbsender();
-
-					assertThat(result.getGemeindeschluessel().getTabelle()).isEqualTo(BayernIdMessageMapper.TABELLE_NUMMER_GEMEINDE_SCHLUESSEL);
-				}
-
-			}
-
-			private NachrichtenKopfType mapToNachrichtenKopf() {
-				var bspNachricht = mapToBspNachricht();
-				assertThat(bspNachricht.getNachrichtenKopf()).isNotNull();
-				return bspNachricht.getNachrichtenKopf();
-			}
-		}
-
-		@Nested
-		class TestNachrichtenInhalt {
-
-			@Test
-			void shouldSetBetreff() {
-				var result = mapToNachrichtenInhalt();
-
-				assertThat(result.getBetreff()).isEqualTo(BayernIdMessageTestFactory.SUBJECT);
-			}
-
-			@Test
-			void shouldSetStorkQaaLevel() {
-				var result = mapToNachrichtenInhalt();
-
-				assertThat(result.getStorkQaaLevel().name()).isEqualTo(BayernIdMessageTestFactory.STORK_QAA_LEVEL);
-			}
-
-			@Test
-			void shouldSetVorgangsId() {
-				var result = mapToNachrichtenInhalt();
-
-				assertThat(result.getZuVorgang().getVorgangsId()).isEqualTo(BayernIdMessageTestFactory.VORGANG_ID);
-			}
-
-			@Nested
-			class TestMapFreiText {
-
-				@Test
-				void shouldSetEncodingSchluessel() {
-					var result = mapToFreiText();
-
-					assertThat(result.getEncoding().getSchluessel()).isEqualTo(BayernIdMessageMapper.TEXT_ENCODING_PLAIN_TEXT);
-				}
-
-				@Test
-				void shouldSetEncodingTabelle() {
-					var result = mapToFreiText();
-
-					assertThat(result.getEncoding().getTabelle()).isEqualTo(BayernIdMessageMapper.TABELLE_NUMMER_TEXT_ENCODING);
-				}
-
-				@Test
-				void shouldSetText() {
-					var result = mapToFreiText();
-
-					assertThat(result.getText()).isEqualTo(BayernIdMessageTestFactory.TEXT);
-				}
-
-				private FreiTextType mapToFreiText() {
-					var bspNachricht = mapToBspNachricht();
-					assertThat(bspNachricht.getNachrichtenInhalt().getFreiText()).isNotNull();
-					return bspNachricht.getNachrichtenInhalt().getFreiText();
-				}
-			}
-
-			@Nested
-			class TestMapAttachments {
-
-				@Test
-				void shouldSetName() {
-					var result = mapToDataContainerType();
-
-					assertThat(result.get(0).getFileName()).isEqualTo(AttachmentTestFactory.FILE_NAME);
-				}
-
-				@Test
-				void shouldSetFileType() {
-					var result = mapToDataContainerType();
-
-					assertThat(result.get(0).getFileType().getSchluessel()).isEqualTo(AttachmentTestFactory.TYPE);
-				}
-
-				@Test
-				void shouldSetFielTypeTable() {
-					var result = mapToDataContainerType();
-
-					assertThat(result.get(0).getFileType().getTabelle()).isEqualTo(BayernIdMessageMapper.TABELLE_NUMMER_MIME_TYPE);
-				}
-
-				@Test
-				void shouldSetInhalt() {
-					var result = mapToDataContainerType();
-
-					var attachmentInputStream = result.get(0);
-					assertThat(attachmentInputStream.getInhalt()).isEqualTo(AttachmentTestFactory.CONTENT);
-				}
-
-				@SneakyThrows
-				@Test
-				void shouldCloseSourceStream() {
-					var inputStream = spy(new ByteArrayInputStream(AttachmentTestFactory.CONTENT));
-
-					var r1 = mapper.toDataContainerType(AttachmentTestFactory.createBuilder().content(inputStream).build());
-
-					verify(inputStream).close();
-				}
-
-				private List<DataContainerType> mapToDataContainerType() {
-					return mapToNachrichtenInhalt().getDataContainer();
-				}
-			}
-
-			private NachrichtenInhaltType mapToNachrichtenInhalt() {
-				var bspNachricht = mapToBspNachricht();
-				assertThat(bspNachricht.getNachrichtenInhalt()).isNotNull();
-				return bspNachricht.getNachrichtenInhalt();
-			}
-		}
-
-		private BspNachricht mapToBspNachricht() {
-			return mapper.toBspNachricht(BayernIdMessageTestFactory.create());
-		}
-	}
-
-	@Nested
-	class TestMapToBayernIdResponse {
-
-		@Test
-		void shouldSetSuccess() {
-			var result = mapToBayernIdResponse();
-
-			assertThat(result.isSuccess()).isTrue();
-		}
-
-		@Test
-		void shouldSetStatus() {
-			var result = mapToBayernIdResponse();
-
-			assertThat(result.getStatus()).isEqualTo(BspQuitungTestFactory.STATUS_SCHLUESSEL);
-		}
-
-		@Test
-		void shouldSetMessage() {
-			var result = mapToBayernIdResponse();
-
-			assertThat(result.getMessage()).isEqualTo(BspQuitungTestFactory.ERGAENZENDE_HINWEISE);
-		}
-
-		private BayernIdResponse mapToBayernIdResponse() {
-			return mapper.toBayernIdResponse(BspQuitungTestFactory.create());
-		}
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageTestFactory.java
deleted file mode 100644
index a9de0cb46..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdMessageTestFactory.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import java.util.Collections;
-import java.util.List;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.message.BayernIdMessage.BayernIdMessageBuilder;
-
-public class BayernIdMessageTestFactory {
-
-	public static final String MESSAGE_ID = "messageId";
-	public static final String CREATED_AT = "2021-01-01T00:00:00Z";
-	public static final String VORGANG_ID = "vorgangId";
-	public static final String SUBJECT = "subject";
-	public static final String STORK_QAA_LEVEL = "LEVEL_1";
-	public static final String TEXT = "text";
-
-	public static BayernIdMessage create() {
-		return createBuilder().build();
-	}
-
-	public static BayernIdMessageBuilder createBuilder() {
-		return BayernIdMessage.builder()
-				.messageId(MESSAGE_ID)
-				.createdAt(CREATED_AT)
-				.vorgangId(VORGANG_ID)
-				.subject(SUBJECT)
-				.storkQaaLevel(STORK_QAA_LEVEL)
-				.text(TEXT)
-				.empfaenger(EmpfaengerTestFactory.create())
-				.absender(AbsenderTestFactory.create())
-				.attachments(List.of(AttachmentTestFactory.create()));
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdRsponseTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdRsponseTestFactory.java
deleted file mode 100644
index a66934b4c..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BayernIdRsponseTestFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-public class BayernIdRsponseTestFactory {
-
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BspQuitungTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BspQuitungTestFactory.java
deleted file mode 100644
index a526db494..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/BspQuitungTestFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-import de.akdb.egov.bsp.nachrichten.BspQuittung;
-import de.akdb.egov.bsp.nachrichten.SchluesseltabelleType;
-
-public class BspQuitungTestFactory {
-
-	public static final String STATUS_SCHLUESSEL = "OK";
-	public static final String ERGAENZENDE_HINWEISE = "Hinweis";
-
-	public static BspQuittung create() {
-		var statusTable  = new SchluesseltabelleType();
-		statusTable.setSchluessel(STATUS_SCHLUESSEL);
-		var quittung = new BspQuittung();
-		quittung.setAnnahmeErfolgreich(true);
-		quittung.setErgebnisStatus(statusTable);
-		quittung.setErgaenzendeHinweise(ERGAENZENDE_HINWEISE);
-		return quittung;
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/EmpfaengerTestFactory.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/EmpfaengerTestFactory.java
deleted file mode 100644
index ce10fb25a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/message/EmpfaengerTestFactory.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.message;
-
-public class EmpfaengerTestFactory {
-
-	public static final String POSTKORB_ID = "postfachId";
-	public static final String NAME = "name";
-	public static final String ANSCHRIFT = "anschrift";
-
-	public static Empfaenger create() {
-		return createBuilder().build();
-	}
-
-	public static Empfaenger.EmpfaengerBuilder createBuilder() {
-		return Empfaenger.builder()
-				.postkorbId(POSTKORB_ID)
-				.name(NAME)
-				.anschrift(ANSCHRIFT);
-	}
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/BayernIdResponse.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/BayernIdResponse.java
deleted file mode 100644
index 7e580efe7..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/BayernIdResponse.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock;
-
-import lombok.Builder;
-import lombok.Getter;
-
-@Builder
-@Getter
-public class BayernIdResponse {
-
-	private boolean success;
-	private String status;
-	private String message;
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/GrpcBayernIdProxyTestClient.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/GrpcBayernIdProxyTestClient.java
deleted file mode 100644
index 14377844a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/GrpcBayernIdProxyTestClient.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock;
-
-import java.io.InputStream;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.commons.lang3.tuple.Pair;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.BayernIdProxyServiceGrpc;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAttachmentMetadata;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadata;
-import lombok.RequiredArgsConstructor;
-import lombok.SneakyThrows;
-
-@RequiredArgsConstructor
-public class GrpcBayernIdProxyTestClient {
-
-	static final int CHUNK_SIZE = 255 * 1024;
-
-	private final BayernIdProxyServiceGrpc.BayernIdProxyServiceStub serviceStub;
-
-	@SneakyThrows
-	public BayernIdResponse sendMessage(GrpcBayernIdMessageMetadata messageMetadata, Set<Pair<GrpcAttachmentMetadata, InputStream>> attachments) throws
-			ExecutionException {
-		var streamer = new MockChunkedDataStreamer(messageMetadata, attachments, CHUNK_SIZE);
-		var future = new CompletableFuture<BayernIdResponse>();
-		serviceStub.sendMessageAsStream(new MockBayernIdSendStreamObserver(future, streamer));
-		return future.get(10, TimeUnit.SECONDS);
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdInitializer.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdInitializer.java
deleted file mode 100644
index b87839602..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdInitializer.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock;
-
-import static com.github.tomakehurst.wiremock.client.WireMock.*;
-
-import com.github.tomakehurst.wiremock.junit5.WireMockRuntimeInfo;
-
-import lombok.RequiredArgsConstructor;
-
-@RequiredArgsConstructor
-public class MockBayernIdInitializer {
-
-	private static final String RESPONSE_TEMPLATE = """
-			<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
-				<SOAP-ENV:Header/>
-				<SOAP-ENV:Body>
-					<ns2:sendBspNachrichtNativeOutput xmlns:ns2="urn:akdb:bsp:postkorb:komm:webservice">
-						<bspQuittung>%s</bspQuittung>
-					</ns2:sendBspNachrichtNativeOutput>
-				</SOAP-ENV:Body>
-			</SOAP-ENV:Envelope>
-						""";
-	public static final String BSP_NACHRICHT_SUCCESS = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;&lt;BspQuittung version=\"1.5\" fassung=\"2020-03-15\" xmlns=\"http://www.akdb.de/egov/bsp/nachrichten\"&gt;&lt;AnnahmeErfolgreich&gt;true&lt;/AnnahmeErfolgreich&gt;&lt;ErgebnisStatus&gt;&lt;Tabelle&gt;9006&lt;/Tabelle&gt;&lt;Schluessel&gt;0&lt;/Schluessel&gt;&lt;/ErgebnisStatus&gt;&lt;ErgaenzendeHinweise&gt;Nachricht wurde angenommen&lt;/ErgaenzendeHinweise&gt;&lt;/BspQuittung&gt;";
-	public static final String BSP_NACHRICHT_ERROR = "&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;&lt;BspQuittung version=\"1.5\" fassung=\"2020-03-15\" xmlns=\"http://www.akdb.de/egov/bsp/nachrichten\"&gt;&lt;AnnahmeErfolgreich&gt;false&lt;/AnnahmeErfolgreich&gt;&lt;ErgebnisStatus&gt;&lt;Tabelle&gt;9006&lt;/Tabelle&gt;&lt;Schluessel&gt;31&lt;/Schluessel&gt;&lt;/ErgebnisStatus&gt;&lt;ErgaenzendeHinweise&gt;Unzulässiger Nachrichteninhalt&lt;/ErgaenzendeHinweise&gt;&lt;/BspQuittung&gt;";
-
-	public final WireMockRuntimeInfo wmRuntimeInfo;
-
-	public void createResponseOk() {
-		wmRuntimeInfo.getWireMock().register(
-				post("/").willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withHeader("charset", "UTF-8")
-						.withBody(RESPONSE_TEMPLATE.formatted(BSP_NACHRICHT_SUCCESS))
-				));
-	}
-
-	public void createResponseError() {
-		wmRuntimeInfo.getWireMock().register(
-				post("/").willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withHeader("charset", "UTF-8")
-						.withBody(RESPONSE_TEMPLATE.formatted(BSP_NACHRICHT_ERROR))
-				));
-	}
-
-	public void createResponseWithException() {
-		wmRuntimeInfo.getWireMock().register(
-				post("/").willReturn(aResponse()
-						.withStatus(200)
-						.withHeader("Content-Type", "text/xml")
-						.withHeader("charset", "UTF-8")
-						.withBody("Internal Server Error")
-				));
-	}
-
-	public void create500Response() {
-		wmRuntimeInfo.getWireMock().register(
-				post("/").willReturn(aResponse()
-						.withStatus(500)
-						.withBody("Internal Server Error")
-				));
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdSendStreamObserver.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdSendStreamObserver.java
deleted file mode 100644
index 242136773..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockBayernIdSendStreamObserver.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock;
-
-import java.util.concurrent.CompletableFuture;
-
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageRequest;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageResponse;
-import io.grpc.stub.ClientCallStreamObserver;
-import io.grpc.stub.ClientResponseObserver;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.RequiredArgsConstructor;
-
-@RequiredArgsConstructor(access = AccessLevel.PROTECTED)
-class MockBayernIdSendStreamObserver implements ClientResponseObserver<GrpcSendBayernIdMessageRequest, GrpcSendBayernIdMessageResponse> {
-
-	private final CompletableFuture<BayernIdResponse> fileIdFuture;
-	private final MockChunkedDataStreamer fileStreamer;
-
-	@Getter
-	private BayernIdResponse bayernIdResponse;
-
-	private ClientCallStreamObserver<GrpcSendBayernIdMessageRequest> requestObserver;
-
-	@Override
-	public void beforeStart(ClientCallStreamObserver<GrpcSendBayernIdMessageRequest> requestStream) {
-		this.requestObserver = requestStream;
-		requestObserver.setOnReadyHandler(() -> fileStreamer.sendChunkedTo(requestObserver));
-	}
-
-	@Override
-	public void onNext(GrpcSendBayernIdMessageResponse response) {
-		bayernIdResponse = BayernIdResponse.builder().success(response.getSuccess()).message(response.getMessage()).status(response.getStatus())
-				.build();
-	}
-
-	@Override
-	public void onError(Throwable t) {
-		fileIdFuture.completeExceptionally(t);
-	}
-
-	@Override
-	public void onCompleted() {
-		fileIdFuture.complete(bayernIdResponse);
-	}
-}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockChunkedDataStreamer.java b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockChunkedDataStreamer.java
deleted file mode 100644
index 3ecf22321..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/java/de/ozgcloud/nachrichten/postfach/bayernid/proxy/mock/MockChunkedDataStreamer.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy.mock;
-
-import static java.util.Objects.*;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Set;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.tuple.Pair;
-
-import com.google.protobuf.ByteString;
-
-import de.ozgcloud.common.errorhandling.TechnicalException;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAttachmentMetadata;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcAttachments;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcBayernIdMessageMetadata;
-import de.ozgcloud.nachrichten.postfach.bayernid.proxy.GrpcSendBayernIdMessageRequest;
-import io.grpc.stub.CallStreamObserver;
-import lombok.extern.log4j.Log4j2;
-
-@Log4j2
-class MockChunkedDataStreamer {
-
-	private Set<Pair<GrpcAttachmentMetadata, InputStream>> attachments;
-	private final int chunkSize;
-	private boolean isFinished = false;
-	private GrpcBayernIdMessageMetadata messageMetadata;
-
-	public MockChunkedDataStreamer(GrpcBayernIdMessageMetadata metadata, Set<Pair<GrpcAttachmentMetadata, InputStream>> attachments, int chunkSize) {
-		this.messageMetadata = metadata;
-		this.attachments = attachments;
-		this.chunkSize = chunkSize;
-	}
-
-	public synchronized void sendChunkedTo(CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		if (isFinished) {
-			return;
-		}
-		sendMessageMetadata(streamObserver);
-		attachments.forEach(attachment -> {
-			sendAttachmentMetadata(attachment.getLeft(), streamObserver);
-			sendContentChunked(attachment.getRight(), streamObserver);
-		});
-		handleFileEndReached(streamObserver);
-	}
-
-	void sendContentChunked(InputStream contentStream, CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		var inProgerss = true;
-		do {
-			int size = sendNextChunk(contentStream, streamObserver);
-			if (size < chunkSize) {
-				sendNextChunk(contentStream, streamObserver);
-				inProgerss = false;
-			}
-		} while (inProgerss && streamObserver.isReady());
-		IOUtils.closeQuietly(contentStream);
-	}
-
-	void sendMessageMetadata(CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		if (nonNull(messageMetadata)) {
-			streamObserver.onNext(buildRequestWithMetadata(messageMetadata));
-			messageMetadata = null;
-		}
-	}
-
-	GrpcSendBayernIdMessageRequest buildRequestWithMetadata(GrpcBayernIdMessageMetadata metadata) {
-		return GrpcSendBayernIdMessageRequest.newBuilder().setMessageMetadata(metadata).build();
-	}
-
-	void sendAttachmentMetadata(GrpcAttachmentMetadata metadata, CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		streamObserver.onNext(buildRequestWithAttachmentMetadata(metadata));
-	}
-
-	GrpcSendBayernIdMessageRequest buildRequestWithAttachmentMetadata(GrpcAttachmentMetadata attachmentMetadata) {
-		return GrpcSendBayernIdMessageRequest.newBuilder()
-				.setAttachments(GrpcAttachments.newBuilder().setAttachmentMetadata(attachmentMetadata).build()).build();
-	}
-
-	private int sendNextChunk(InputStream contentStream, CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		try {
-			var content = contentStream.readNBytes(chunkSize);
-			var size = content.length;
-			if (size > 0) {
-				streamObserver.onNext(buildRequestWithContent(content));
-			}
-			return size;
-		} catch (IOException e) {
-			throw new TechnicalException("Error on sending a single chunk", e);
-		}
-	}
-
-	GrpcSendBayernIdMessageRequest buildRequestWithContent(byte[] bytes) {
-		return GrpcSendBayernIdMessageRequest.newBuilder().setAttachments(GrpcAttachments.newBuilder().setContent(ByteString.copyFrom(bytes)).build())
-				.build();
-	}
-
-	synchronized void handleFileEndReached(CallStreamObserver<GrpcSendBayernIdMessageRequest> streamObserver) {
-		isFinished = true;
-		streamObserver.onCompleted();
-	}
-
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
deleted file mode 100644
index 79b126e6c..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/META-INF/services/org.junit.jupiter.api.extension.Extension
+++ /dev/null
@@ -1 +0,0 @@
-org.mockito.junit.jupiter.MockitoExtension
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/application-itcase.yml b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/application-itcase.yml
deleted file mode 100644
index d4d24173a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/application-itcase.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-logging:
-  level:
-    ROOT: INFO
-    '[org.springframework]': WARN
-    '[de.ozgcloud]': INFO
-  config: classpath:log4j2-local.xml
-
-grpc:
-  server:
-    port: -1
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/junit-platform.properties b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/junit-platform.properties
deleted file mode 100644
index 1cebb76d5..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/junit-platform.properties
+++ /dev/null
@@ -1 +0,0 @@
-junit.jupiter.extensions.autodetection.enabled = true
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
deleted file mode 100644
index ca6ee9cea..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
+++ /dev/null
@@ -1 +0,0 @@
-mock-maker-inline
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.pdf b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.pdf
deleted file mode 100644
index 184dd5915515ca49dfaa8840883e6259d2a667aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5705
zcmY!laB<T$)HCH$UA216S}sEc1BLvgEG`=xF8z?qlAKfp4P8wxednUo#FG3X1r5i7
z#N>=r1vmcyg|O73;>`R!1tUFkO)mX_qWqN7<Wzi0z=mYz=eZ=7q$+5*SQ!}@85<fI
zni^ObnHm{JX>!@wai!*^fUGw{I72}}-%r7qOF=>3Cp9m<BtyYi!9XDh#COZgDM>9-
z(09v8EJ<}qP0mkA1sPFXQk0sQ%T+Pw?acImkVvtH_tkTSdGGp8UU<@TQ45>Oa}~!;
zD;&xvXD&SH7?@JP;wB*I*`=_kfw_;*(JfH$XoH5vf<=DH%?(C;eM(wd-jDlluKl@j
zYiRWE^xuCf-mfn9-&_1{b@bPLtJoWO4ChUq!1J1U!U5lhKdo*XHZ?g*%wT8W_GsYH
zV30lM<+tVQw{Hxq6<4s<cYjZ25W4gJHOIB$^Ai_!+r5yGn_XD>r)*K>>HDw$t9HC$
z(UWHA*mi1Tj-OHX)bh1OCf1F*C(d(O*s2<`GTf-1nz`pHWB5$n2Oary6d$a}kJ%IU
z_<8pJQ^y$&2ra%QQ6F_cFx%&)n1S}J=?o1e|FiaTX;0k#t0vP?|7gDPn${Hw_B|SW
z(+_j|KinYsKTZ38<)2{vkWa5p|6gzZL;kzqoVod5t`)uYarkm-f6?vJj0yYL7y^HV
z`#t4gcw);?^6lT$ZVN_-a7~6u=Ob3`*^+Ph<klMo{u2#sOB!qf*rXiTC76N}7;_qw
z3z*{$@Ut|pZD3vG$n>DGWCC+pGgAPI*FnVq-d7IF8Em-^bY3ut9}q2&y~FnXfW{1l
z8Ux<AM%E8<I?e(ujUED`lbS>nLOrC7T4qcTeZo=curI(sgw544Mnm*e<2MJ_0Lc*E
ztIlUH_+O}e!BrwG)h6dS`GU+B^)H-m2V7>boj#bgLGDaTZesZj{(DUB2R#eK=J3C7
z*M7+M!{iQUd}IFM#Rl?qtolj}O$`f_MFg!l)DFo#Y~^rtQL5;e+u`KGx`^>&+Y3h?
zg?Gw7Ix3I2t4Mje8cneB;9kOgN&cjhnqs+9_r$9wf=~FR*nhGs6584Dr%P#JO5iPx
z;wjo%9HOmW?xG8{0(@8ST`|3)ktOw2uGj7I#a9`@Tez(xWV_F~i7)P7aQou)i-%um
zeo<m;o_HuDS;sJLMu894GKSz*%if(Wk_UZ~?GiX6Sl1|C<CJcCn)G>t=nb(P{W2Eo
z=GbGMk3tHcS?J41Pw&(|X!@wCpuF(%j?_I8akBZH-wz*uRQ_1|WA2aaAL>80voJY!
zCb)f2JR(pgsKuGiVa_qRrQd}susg$_M|GLdcVT}aePMaQ`;$CWOegVbwoGxl<)5V%
zt7@xUE3mNZMc0n54X#D5SuR$tZZ2_?3sXWj=~il6cE>o{x$pCyCw{bZRp+hlw(fT#
zYXxoft@L(jxQQAId=~N+&=$)U+^uQmeK6pPMxTh8>inWPMN^GjT?3}B{1zfs%D;7D
zRj-w=^W`g<>$XHh3BGl|C6MblM=4K5PGO#6oN`^@9Dnx<S6{6AQc=bESEsh;pQn@G
zp|B?9jsA;#lU$NKgWN8;O;V23xT$BU_0zLU@u`NWda1)I?^i2Lf}*@{xm(5lTJgp7
zWu@e-o>m_3WdYCDoJo$12=l%cZWjG*$D0Lj7R}i+XLHP=n5lO{cUD&J+S6OJre<f&
z`ag4+LJxW=x-E=(IO&jgo5kU2g6CJHd@&XiNfnJ12^M`V+AcDE>XoT~rhb}oYwA3$
z$5UsXnt1BzsoGQAT3lN5v@EsOYW0T}uJXB>arN*j=2hNVud*7ms;}<4l6F<~YV6g`
zSE8@Z&zNAc#&nX2l!;u%BGZ|(3TL^Syw5xsbu8*)lxbA?*2G-lw-RraZykOe@cPWP
z!t17Mq^~Q!y76ks%Pp^bUR^4+E%{usyCnYg$``FKWG_fx_`NEBjr{uiE9?^;3=51;
z7{4(5aXH}hgw%-S9|^XZdoTaG^Y!lQ`x2Sbg*|;zwkFG@s-@nWzBB%pl$3SIIMaBh
zai}4$@mf>a^h-1Dok@DeYdmG<+{kq|SvU7TQ+uZQEdA{N4Hq_cY|hv?<L-iejhh!1
z9-gvvQtFP>y{h-S5=GNW&vfOl&5+HzoACFJ+s(Gz%PGdmt23put8abVI(MJ!`E`f$
zPTspy*Zwz^y`_1x^TNXul#gD#zwy?`nUg04PYGUqxoPvp;%%Q(#iw-dKFv72Fx)bH
zTK4AGO|w_t=G$IZzUa5w_pI;F<)Y+l`sMs@Tt54G!Sl(ztE6{I@7~ieef4$6^~>+Q
zy61Us|BnT=dup?4;(kc|c=m%YXHnj*Z7WkRSKC|f7uwHR&-*{*|2~EyhYW|}13?R%
z6CxGtJ@hl&FT727`C!I_cLF{h4j#cL9;F>W+ivFHF4Zp9(w7@}f6~UM&%$1={TQvE
zr<~7yzf6xuR7~QU&^OCF+Itjh3=f$uGD~VqJ#TfU>gcw_>6@QhOq*kL&Syz#O5~HA
zDXCWuuGpFJ`bF1^pAx@kyqaOYQEy}EM(@J7LiNXCkC-3d7T&;_$oYJyNS@60`rUuN
z^}IdYd8?DP^N-5sCC;AQHsx`_MpO2v?zC>*_G_Y?&sC4VdZk8ZwbrV=b*^&wwUcKf
zPu{VFWns_uotde#e2wtU6FFgJ@qJ0>-px5FyUqGlxs$bW*|(=!&!0W_dtY>~G|RlM
z{LVY;%3qbKmG8f?ynA_a`sw>q?Z3|bT)vi7iFHrY$Gu|JulKpv$$$QPVc*x^tG?Ch
zrikCux}?8K<5$cXt$kmc5Asj7U-PE_j(tc{P|+5V*i*W))(N!_LS{xphTXj4c)oe=
z)1FU<K9#p`lid}W7!p`6QE&0pVE?7Xn|6CGUA5&^acRldjNVw^>a{s<_uX2m{6<;X
zJ-2V$)st66uhv?L6~9T`TU?vo9OZnp@XN<7kM*UPrP%!p{7uX~%|%UXEl=8>w0~N?
zYX8kGJ9oNnTe?Iv&o_6jwQSX|d;NU&W!qnFxw`%G?e238#w*j~{)v3Md?WJv=Gx~o
zp5Lkq`@3^n^R2)eoTX`HdL^#qA9pwJZa=?!?)%ppU%dR``hEIjaS{D1F(UgTE_J^@
z`#yH(l+w(PMUS5T)D8?^_G{Z$-x%IqzZTqIUjJg&@2%3;=dO#F-5|T8<nX6st+St*
zpTD1U@71o{qTR(8DmFas`#85xaq_}*yO)*ken0c>Ysq^CcdV0ai=OT~{P#6~jQkzB
zyB1b9&+NYy*p$rqKjCk|x4=J(&HFFQ>HEK_YN`tQ5%MMTsPWBo-u+qsZk;oK7(b_E
zhD^=Amp_k)WWTzae{z5AymR%ARe^?!4KCYcTT~~W%Y1k5^jZDo@v8fx=IQ^4ee?a+
zb*c6B{|-OvKiImU^`-e9bM1Pu{Zp%|Kh3?kd!Ot3qv`L3@9FD{)=l_T@Jjjf;{(eN
z_#2;oIp1);_Wq2zmp@<q`+Cyr(5bEqtSx#9C5#KXIbt1NFgb|}>}o(4`e9$zxb?rq
z>PCT>zJBHh(|H??%QCE5#Td}d(jYVI&`A%$HAUNvBW?>DR~iOh)O;<m@}!KLO8?=`
z^CD~hGGDJ2<^whPpiMSt;}6up12+Oq%#A>@Ahrp#K^U#?>Fn&3Se%-o0BR!!#ljSr
zLKWE9fSQIOl?AB^`o5_pi7AOCi6D{S(xeiwV1%y^h!1T{nt>aWc6MA)C)n6m6eK2R
zr<N!rrKV@**($x?y<bToGsRXZ+|<{=x4=0yBh#a*C^fjsFC@7tJJ~Wt$==SU!m1*-
zAUCxnQK2F?C$HG5!d59UB|j<EDzDfIB&@Gw$7NHLl4cd;;s#Yxl#*tvlu=SrV5P5L
zUS6(OZmgGIl&)`RX=$l%V5Dzkq+67drdwQ@SCUwvn^&w1Gr=XbIJqdZpaj(NhFF%8
z3^%Btv?vE`OiHqTYEEiyYF<gPzM-C>zLEmS_Qa(8(h^%GkWnegR%!V~xrrrqi3J5Y
znaPPD1N941(rok*Qd~AE$yOzxUVxo0SRBFz3+E)}rI#kAr`lEMmgZ&W<(KDyRltS8
zic%6wQtd#^d|g8$T|?6l0}Cr7Q!69GD6m?vESHTw$Z1I4f(8|m2sFqFkb*3)SPvY+
zddc~@AZP0v>KSADvLGeR3f3{P!`^kV0qI64;<5qjadCt8ZtM*8Orc5;VkEe^BDVk@
zJ1B0hNG#Ad)HA?zb46}}6}YFAUlfv`pM%rc=<2v^Kq9at59(v#2zd-;5S?H<Qwiup
zQiL@Sz;PMm;%3KXqYuv%c8E-snwMg$RHS5Y#|6r_&^!mt_Mof?%IX&8#vn-$(;S|u
z;k`c#P=-~|$I|yxK;+_zIdj8q=iPD;sC};eY~$2ZY5L#R&E3A>!t5zwf-CqnLsJqA
z!rm_3c-?pE`u93BIC7j`HyoI@xBA>nWAWdK3JsUbU+@PiM2H;Spuxs}wv=&Un$@)5
z%y%D6;B&it@MtxoQp3wv0*)MF(uXalmn?61pT95nl*z`-)X7Zu|24dPez2m7L9gSY
zhUasZKlc~NXYW38L~MqB_UwD!dZN?s*gU>3XK=xP^9u1lo1g8{*kIGS>-t^k-Ku*J
zly<7#i?^JvbB#4Be6K)jn2)?sr&#bACb`S%T;(p|*QR<#S)Tb^f8>IA<)ebB5fZ99
ztE(7i)!C#dUD&(lr<2%}n@Mjk%+nBMHA?APT^!V!v)f?(1RndfMqLu&9~s}g6^s?w
zutEK9>7!SVWUgx)xE^>hYki@>!=(?VYqiY&c-K?x>Ez5Rp`Hs<cSOyd{Fm!WVcK?I
zljEn(h6wD?S=!WYw|2F{B%OCBt&iHji_uu$FehNLQ`eXG9~QM7KDQ`A?^L<<K4uQl
zjUEB1+^J;(^RNA`oe;|RY=&d5cEu|09f!~SUG>(V{jN{3!zRJK6EiZ83(37M>Xh9V
zVDwJa{mQv$yI1E^+gkP;-`CqLlDKKA&%~VSLmT;e_&V>ppIf|a9_Ql<DW`c?_+qX5
z)t^O(+ll#9hwl*ceVTf%(zci@&nZM@=PQA#^+Nfkk~@@`Up`sMW+c+RcWLL_Nt}*9
zzvTp(JbtQHyg_SX%X5<yj%Uu6!D=%!Q!kViYfMSF#GIi#Z*s?ntIuX0eaLa$c&VxC
zW0um4sK&T_W@-NXNjmqJ3Y<9RJ8{RFs5K`UyHneiCU4lRvhiJ^^VMyekN%qJAsyE1
z_&9O;r2?^^S7rv7UlbCpUbuG2v%SYJOpVRg);!95;kNRFXQBsPOnxO_t_tnw=g`pf
zkrqCFN<v}#qZ7fdzw1t)Xb$TM`kAVtIbqjk=Plywlfqi&{C*x?ZTRQj4ZdC9dY{X?
zx$SMa=kiC~_PI?YD1V@49#FOb=NMx%kR*s{3C}#B`YtH7IKQ+gIki~9&;XQ$Kw^+u
zG9WQM6~yyRP037j%CAs}1}QMLG}SXQH&w7OG1RlLu#5$%a4yO(z^lM1Cp9$%uZobO
z%v`(*0uqZ-^GXy9K?70XQ6A^~yb@47rT{7of<Oa2(DK3%)Bpf^6uHWG%g-wTITc>r
zgZyX+5&<<DK(Y$@9;rEHsU?}o;C6v)UUGg)W?s62et2e{V_tD4OaR#?kYgY=Dd>X?
zRL}<nS}~WtbABnvv0VDznJL8z(V!p?QiuhWL@-Cf8Z*d_bWSWu%*js&xe9C!l5c$y
z^U@VG;B~4dNDZt^R{*tfz+nQ?<&&6{np3P`2x=Lj1PdtkAdUrT27B4YMnT`rPyrlb
zK_J&DDCh?i<tGQHmMBE)2e`N?=zHcSrl&eVX=erfkkpD2NTlcI<QD}OBqpaSfQ)fT
zO-n4zDG73SQUKcwG7T|q2X+m_as_?A(%fQDVghLkR?v4*u(LxBnu?;-G%f=LLsKpT
zI8ZP%H8nO>NK=4|8Ja49Wfk(^Vuq#$=we3Z2IiPzMp(qmF!UOm8yTVNH8wXfL>DtL
zHN_%kj$xjufw?h;UP}WEbtdMPCYb6>Ez!kH4J|DYVkJe1nK`LNpaEJ11^uA>{1OF2
zP#OcL3(vf?d<9Tqh45SyqHQb<&0O7_Ow5gpot@0gUCoSK%-oFKOdU;J3{9MjOfBpb
j2rB`ngW$}nR8VArYuUu25^(gH8krbzsj9mAyKw;kn^5b<

diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.txt b/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.txt
deleted file mode 100644
index 814be41a4..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-impl/src/test/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-some simple text
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-interface/pom.xml b/nachrichten-bayernid-proxy/bayernid-proxy-interface/pom.xml
deleted file mode 100644
index 612ae0ffc..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-interface/pom.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (C) 2022-2023 Das Land Schleswig-Holstein vertreten durch den
-    Ministerpräsidenten des Landes Schleswig-Holstein
-    Staatskanzlei
-    Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-
-    Lizenziert unter der EUPL, Version 1.2 oder - sobald
-    diese von der Europäischen Kommission genehmigt wurden -
-    Folgeversionen der EUPL ("Lizenz");
-    Sie dürfen dieses Werk ausschließlich gemäß
-    dieser Lizenz nutzen.
-    Eine Kopie der Lizenz finden Sie hier:
-
-    https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-
-    Sofern nicht durch anwendbare Rechtsvorschriften
-    gefordert oder in schriftlicher Form vereinbart, wird
-    die unter der Lizenz verbreitete Software "so wie sie
-    ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-    ausdrücklich oder stillschweigend - verbreitet.
-    Die sprachspezifischen Genehmigungen und Beschränkungen
-    unter der Lizenz sind dem Lizenztext zu entnehmen.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>de.ozgcloud.common</groupId>
-		<artifactId>ozgcloud-common-dependencies</artifactId>
-		<version>4.0.1</version>
-		<relativePath/>
-	</parent>
-
-	<groupId>de.ozgcloud.nachrichten</groupId>
-	<artifactId>bayernid-proxy-interface</artifactId>
-	<version>0.4.0-SNAPSHOT</version>
-
-	<name>OZG-Cloud BayernID Proxy Interface</name>
-	<description>Interface (gRPC) for BayernID Proxy Service</description>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<java.version>21</java.version>
-		<maven.compiler.source>${java.version}</maven.compiler.source>
-		<maven.compiler.target>${java.version}</maven.compiler.target>
-
-		<find-and-replace-maven-plugin.version>1.1.0</find-and-replace-maven-plugin.version>
-	</properties>
-
-	<dependencies>
-		<!-- GRPC -->
-		<dependency>
-			<groupId>io.grpc</groupId>
-			<artifactId>grpc-stub</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>io.grpc</groupId>
-			<artifactId>grpc-protobuf</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>jakarta.annotation</groupId>
-			<artifactId>jakarta.annotation-api</artifactId>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>com.github.os72</groupId>
-				<artifactId>protoc-jar-maven-plugin</artifactId>
-				<version>${protoc-jar-plugin.version}</version>
-				<executions>
-					<execution>
-						<phase>generate-sources</phase>
-						<goals>
-							<goal>run</goal>
-						</goals>
-						<configuration>
-							<includeMavenTypes>direct</includeMavenTypes>
-							<outputTargets>
-								<outputTarget>
-									<type>java</type>
-								</outputTarget>
-								<outputTarget>
-									<type>grpc-java</type>
-									<pluginArtifact>io.grpc:protoc-gen-grpc-java:${protoc-gen.version}</pluginArtifact>
-								</outputTarget>
-							</outputTargets>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-			<plugin>
-				<groupId>io.github.floverfelt</groupId>
-				<artifactId>find-and-replace-maven-plugin</artifactId>
-				<version>${find-and-replace-maven-plugin.version}</version>
-				<executions>
-					<execution>
-						<id>exec</id>
-						<phase>process-sources</phase>
-						<goals>
-							<goal>find-and-replace</goal>
-						</goals>
-						<configuration>
-							<replacementType>file-contents</replacementType>
-							<baseDir>target/generated-sources/</baseDir>
-							<findRegex>javax</findRegex>
-							<replaceValue>jakarta</replaceValue>
-							<recursive>true</recursive>
-							<fileMask>.java</fileMask>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernidproxy.model.proto b/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernidproxy.model.proto
deleted file mode 100644
index 91ed9ee0a..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernidproxy.model.proto
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-syntax = "proto3";
-
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-option java_multiple_files = true;
-option java_package = "de.ozgcloud.nachrichten.postfach.bayernid.proxy";
-option java_outer_classname = "BayernIdProxyModelProto";
-
-message GrpcSendBayernIdMessageRequest {
-  oneof request {
-    GrpcBayernIdMessageMetadata messageMetadata = 1;
-    GrpcAttachments attachments = 2;
-  }
-}
-
-message GrpcBayernIdMessageMetadata {
-  string messageId = 1;
-  string createdAt = 2;
-  GrpcAbsender absender = 3;
-  GrpcEmpfaenger empfaenger = 4;
-  string subject = 5;
-  string storkQaaLevel = 6;
-  string vorgangId = 7;
-  string text = 8;
-}
-
-message GrpcAbsender {
-  string name = 1;
-  string anschrift = 2;
-  string email = 3;
-  string telefon = 4;
-  string hyperlink = 5;
-  string dienst = 6;
-  string mandant = 7;
-  string gemeindeschluessel = 8;
-}
-
-message GrpcEmpfaenger {
-  string postkorbId = 1;
-  string name = 2;
-  string anschrift = 3;
-}
-
-message GrpcAttachments {
-  oneof request {
-    GrpcAttachmentMetadata attachmentMetadata = 1;
-    bytes content = 2;
-  }
-}
-
-message GrpcAttachmentMetadata {
-  string fileType = 1;
-  string fileName = 2;
-}
-
-message GrpcSendBayernIdMessageResponse {
-  bool success = 1;
-  string status = 2;
-  string message = 3;
-}
diff --git a/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernproxy.proto b/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernproxy.proto
deleted file mode 100644
index 039909e0f..000000000
--- a/nachrichten-bayernid-proxy/bayernid-proxy-interface/src/main/protobuf/bayernproxy.proto
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-syntax = "proto3";
-
-package de.ozgcloud.nachrichten.postfach.bayernid.proxy;
-
-import "bayernidproxy.model.proto";
-
-option java_multiple_files = true;
-option java_package = "de.ozgcloud.nachrichten.postfach.bayernid.proxy";
-option java_outer_classname = "BayernIdProxyProto";
-
-service BayernIdProxyService {
-
-  rpc SendMessageAsStream(stream GrpcSendBayernIdMessageRequest) returns (GrpcSendBayernIdMessageResponse);
-
-}
diff --git a/nachrichten-bayernid-proxy/pom.xml b/nachrichten-bayernid-proxy/pom.xml
deleted file mode 100644
index 6656bc561..000000000
--- a/nachrichten-bayernid-proxy/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright (C) 2022-2023 Das Land Schleswig-Holstein vertreten durch den
-    Ministerpräsidenten des Landes Schleswig-Holstein
-    Staatskanzlei
-    Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-
-    Lizenziert unter der EUPL, Version 1.2 oder - sobald
-    diese von der Europäischen Kommission genehmigt wurden -
-    Folgeversionen der EUPL ("Lizenz");
-    Sie dürfen dieses Werk ausschließlich gemäß
-    dieser Lizenz nutzen.
-    Eine Kopie der Lizenz finden Sie hier:
-
-    https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-
-    Sofern nicht durch anwendbare Rechtsvorschriften
-    gefordert oder in schriftlicher Form vereinbart, wird
-    die unter der Lizenz verbreitete Software "so wie sie
-    ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-    ausdrücklich oder stillschweigend - verbreitet.
-    Die sprachspezifischen Genehmigungen und Beschränkungen
-    unter der Lizenz sind dem Lizenztext zu entnehmen.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-
-	<parent>
-		<groupId>de.ozgcloud.common</groupId>
-		<artifactId>ozgcloud-common-parent</artifactId>
-		<version>4.0.1</version>
-		<relativePath/>
-	</parent>
-
-	<groupId>de.ozgcloud.nachrichten</groupId>
-	<artifactId>nachrichten-bayernid-proxy</artifactId>
-	<version>0.4.0-SNAPSHOT</version>
-	<packaging>pom</packaging>
-
-	<name>OZG-Cloud BayernID Proxy</name>
-	<description>Proxy Service for BayernID</description>
-
-	<modules>
-		<module>bayernid-proxy-impl</module>
-		<module>bayernid-proxy-interface</module>
-	</modules>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<java.version>21</java.version>
-		<maven.compiler.source>${java.version}</maven.compiler.source>
-		<maven.compiler.target>${java.version}</maven.compiler.target>
-		<jaxb-maven-plugin.version>4.0.0</jaxb-maven-plugin.version>
-		<wiremock.version>3.5.1</wiremock.version>
-	</properties>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>com.mycila</groupId>
-				<artifactId>license-maven-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</build>
-</project>
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/run_helm_test.sh b/nachrichten-bayernid-proxy/run_helm_test.sh
deleted file mode 100755
index 21019cc23..000000000
--- a/nachrichten-bayernid-proxy/run_helm_test.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-set -e
-
-helm template  ./src/main/helm/ -f src/test/helm-linter-values.yaml
-helm lint -f src/test/helm-linter-values.yaml ./src/main/helm/
-cd src/main/helm && helm unittest -f '../../test/helm/*.yaml'  .
-
diff --git a/nachrichten-bayernid-proxy/src/main/helm/.helmignore b/nachrichten-bayernid-proxy/src/main/helm/.helmignore
deleted file mode 100644
index 3d0dbe446..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/.helmignore
+++ /dev/null
@@ -1 +0,0 @@
-tests/
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/main/helm/Chart.yaml b/nachrichten-bayernid-proxy/src/main/helm/Chart.yaml
deleted file mode 100644
index b04099d33..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/Chart.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-apiVersion: v1
-appVersion: "1.0"
-description: A Helm chart for Bayernid-Proxy
-name: bayernid-proxy
-version: 0.0.0-MANAGED-BY-JENKINS
-icon: https://simpleicons.org/icons/helm.svg
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/_helpers.tpl b/nachrichten-bayernid-proxy/src/main/helm/templates/_helpers.tpl
deleted file mode 100644
index 0ea6c8d8c..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/_helpers.tpl
+++ /dev/null
@@ -1,47 +0,0 @@
-
-{{/* Default Labels: Helm recommended best-practice labels https://helm.sh/docs/chart_best_practices/labels/ */}}
-{{- define "app.defaultLabels" }}
-app.kubernetes.io/instance: bayernid-proxy
-app.kubernetes.io/managed-by: {{ .Release.Service }}
-app.kubernetes.io/name: {{ .Release.Name }}
-app.kubernetes.io/namespace: {{ .Release.Namespace }}
-app.kubernetes.io/part-of: ozgcloud
-app.kubernetes.io/version: {{ .Chart.Version }}
-helm.sh/chart: {{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" }}
-app.kubernetes.io/component: bayernid-proxy
-component: bayernid-proxy
-{{- end -}}
-
-{{- define "app.matchLabels" }}
-app.kubernetes.io/name: {{ .Release.Name }}
-app.kubernetes.io/namespace: {{ .Release.Namespace }}
-component: bayernid-proxy
-{{- end -}}
-
-{{- define "app.envSpringProfiles" }}
-{{- if (.Values.env).overrideSpringProfiles -}}
-{{ printf "%s" (.Values.env).overrideSpringProfiles }}
-{{- else -}}
-{{ printf "oc, %s" (include "app.ozgcloudEnvironment" . ) }}
-{{- end -}}
-{{- end -}}
-
-{{- define "app.ozgcloudEnvironment" -}}
-{{- required "ozgcloud.environment muss angegeben sein" (.Values.ozgcloud).environment -}}
-{{- end -}}
-
-
-{{ define "app.zertifikatPath" }}
-{{- required "ozgcloud zertifikat path muss angegeben sein" (.Values.ozgcloud).bayernid.zertifikat.path -}}
-{{- end -}}
-
-
-{{ define "app.zertifikatFilename" }}
-{{- required "ozgcloud zertifikat fileName muss angegeben sein" (.Values.ozgcloud).bayernid.zertifikat.fileName -}}
-{{- end -}}
-
-
-{{- define "app.serviceAccountName" -}}
-{{ printf "%s" ( (.Values.serviceAccount).name | default "bayernid-proxy-service-account" ) }}
-{{- end -}}
-
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/configmap_bindings_type.yaml b/nachrichten-bayernid-proxy/src/main/helm/templates/configmap_bindings_type.yaml
deleted file mode 100644
index d56b2505d..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/configmap_bindings_type.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: bindings-type
-  namespace: {{ .Release.Namespace }}
-data:
-  type: |
-    ca-certificates
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/deployment.yaml b/nachrichten-bayernid-proxy/src/main/helm/templates/deployment.yaml
deleted file mode 100644
index b3169c97d..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/deployment.yaml
+++ /dev/null
@@ -1,166 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: {{ .Release.Name }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "app.defaultLabels" . | indent 4 }}
-spec:
-  progressDeadlineSeconds: 600
-  replicas: {{ .Values.replicaCount }}
-  revisionHistoryLimit: 10
-  selector:
-    matchLabels:
-      {{- include "app.matchLabels" . | indent 6 }}
-  strategy:
-    rollingUpdate:
-      maxSurge: 1
-      maxUnavailable: 0
-    type: RollingUpdate
-  template:
-    metadata:
-      labels:
-        {{- include "app.defaultLabels" . | indent 8 }}
-    spec:  
-      {{- if (.Values.serviceAccount).create }}
-      serviceAccountName: {{ include "app.serviceAccountName" . }}
-      {{- end }}
-      topologySpreadConstraints:
-      - maxSkew: 1
-        topologyKey: kubernetes.io/hostname
-        whenUnsatisfiable: ScheduleAnyway
-        labelSelector:
-          matchLabels:
-            app.kubernetes.io/name: {{ .Release.Name }}
-      containers:
-      - env:
-          - name: SERVICE_BINDING_ROOT
-            value: "/bindings"
-          - name: spring_profiles_active
-            value: {{ include "app.envSpringProfiles" . }}
-
-          {{- with (.Values.env).customList }}
-{{ toYaml . | indent 10 }}
-          {{- end }}
-
-          - name: ozgcloud_bayernid_server
-            value: {{ required "ozgcloud.bayernid.server must be set" (.Values.ozgcloud).bayernid.server }}
-
-          - name: spring_ssl_bundle_jks_bayern-id-ca_keystore_location
-            value: "/keystore/bayernid/bayern-id-ca.p12"
-          - name: spring_ssl_bundle_jks_bayern-id-ca_keystore_type
-            value: PKCS12
-          - name: spring_ssl_bundle_jks_bayern-id-ca_keystore_password
-            valueFrom:
-              secretKeyRef:
-                name: {{ required "ozgcloud.bayernid.certificateSecretName must be set" ((.Values.ozgcloud).bayernid).certificateSecretName }}
-                key: password
-                optional: false
-
-        image: "{{ .Values.image.repo }}/{{ .Values.image.name }}:{{ coalesce (.Values.image).tag "latest" }}"
-        imagePullPolicy: Always
-        name: bayernid-proxy
-        ports:
-          - containerPort: 9090
-            name: grpc-9090
-            protocol: TCP
-          - containerPort: 8081
-            name: metrics
-            protocol: TCP
-        readinessProbe:
-          failureThreshold: 3
-          httpGet:
-            path: /actuator/health/readiness
-            port: 8081
-            scheme: HTTP
-          periodSeconds: 10
-          successThreshold: 1
-          timeoutSeconds: 3
-        startupProbe:
-          httpGet:
-            path: /actuator/health/readiness
-            port: 8081
-            scheme: HTTP
-          failureThreshold: 10
-          initialDelaySeconds: 20
-          periodSeconds: 10
-          successThreshold: 1
-          timeoutSeconds: 5
-        resources:
-        {{- with .Values.resources }}
-{{ toYaml . | indent 10 }}
-        {{- end }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          privileged: false
-          readOnlyRootFilesystem: false
-          runAsNonRoot: true
-          {{- with (.Values.securityContext).runAsUser }}
-          runAsUser: {{ . }}
-          {{- end }}
-          {{- with (.Values.securityContext).runAsGroup }}
-          runAsGroup: {{ . }}
-          {{- end }}
-        stdin: true
-        terminationMessagePath: /dev/termination-log
-        terminationMessagePolicy: File
-        tty: true
-        volumeMounts:
-          - name: bindings
-            mountPath: "/bindings/ca-certificates/type"
-            subPath: type
-            readOnly: true
-          - name: bayern-id-ca
-            mountPath: "/keystore/bayernid/bayern-id-ca.p12"
-            subPath: zertifikat
-            readOnly: true
-          - name: temp-dir
-            mountPath: "/tmp"
-      
-      volumes: 
-        - name: bindings
-          configMap:
-            name: bindings-type
-        - name: bayern-id-ca
-          secret:
-            secretName: {{ required "ozgcloud.bayernid.certificateSecretName must be set" ((.Values.ozgcloud).bayernid).certificateSecretName }}
-            optional: false
-        - name: temp-dir
-          emptyDir: {}
-      dnsConfig: {}
-      dnsPolicy: ClusterFirst
-      imagePullSecrets:
-      - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret  }}
-   
-      restartPolicy: Always
-      {{- with .Values.hostAliases }}
-      hostAliases:
-{{ toYaml . | indent 8 }}
-      {{- end }}
-      schedulerName: default-scheduler
-      securityContext: {}
-      terminationGracePeriodSeconds: 30
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/network_policy.yaml b/nachrichten-bayernid-proxy/src/main/helm/templates/network_policy.yaml
deleted file mode 100644
index 95cd70f64..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/network_policy.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-{{- if not (.Values.networkPolicy).disabled }} 
-apiVersion: networking.k8s.io/v1
-kind: NetworkPolicy
-metadata:
-  name: network-policy-bayernid-proxy
-  namespace: {{ .Release.Namespace }}
-spec:
-  podSelector:
-    matchLabels:
-      component: bayernid-proxy
-  policyTypes:
-    - Ingress
-    - Egress
-  ingress:
-  - ports:
-    - port: 9090
-    from:
-    - podSelector: 
-        matchLabels:
-          component: vorgang-manager
-{{- with (.Values.networkPolicy).additionalIngressConfig }}
-{{ toYaml . | indent 2 }}
-{{- end }}
-{{- with (.Values.networkPolicy).additionalIngressConfigNamespace }}
-{{ toYaml . | indent 2 }}
-{{- end }}
-  egress:
-  - to:
-    - namespaceSelector:
-        matchLabels:
-          kubernetes.io/metadata.name: {{ required "networkPolicy.dnsServerNamespace must be set" (.Values.networkPolicy).dnsServerNamespace }}
-    ports:
-      - port: 53
-        protocol: UDP
-      - port: 53
-        protocol: TCP
-      - port: 5353
-        protocol: UDP
-      - port: 5353
-        protocol: TCP
-{{- with (.Values.networkPolicy).additionalEgressConfig }}
-{{ toYaml . | indent 2 }}
-{{- end }}
-{{- with (.Values.networkPolicy).additionalEgressConfigNamespace }}
-{{ toYaml . | indent 2 }}
-{{- end }}
-
-{{- end }}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/service.yaml b/nachrichten-bayernid-proxy/src/main/helm/templates/service.yaml
deleted file mode 100644
index ed6467de5..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/service.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-apiVersion: v1
-kind: Service
-metadata:
-  name: {{.Release.Name }}
-  namespace: {{ .Release.Namespace }}
-  labels:
-    {{- include "app.defaultLabels" . | indent 4 }}
-spec:
-  type: ClusterIP
-  ports:
-    - name: grpc-9090
-      port: 9090
-      protocol: TCP
-    - name: metrics
-      port: 8081
-      protocol: TCP
-  selector:
-    {{- include "app.matchLabels" . | indent 4 }}
diff --git a/nachrichten-bayernid-proxy/src/main/helm/templates/service_account.yaml b/nachrichten-bayernid-proxy/src/main/helm/templates/service_account.yaml
deleted file mode 100644
index 231d53f52..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/templates/service_account.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-{{- if (.Values.serviceAccount).create }}
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ include "app.serviceAccountName" . }}
-  namespace: {{ .Release.Namespace }}
-{{- end }}
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/main/helm/values.yaml b/nachrichten-bayernid-proxy/src/main/helm/values.yaml
deleted file mode 100644
index 7873a672a..000000000
--- a/nachrichten-bayernid-proxy/src/main/helm/values.yaml
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-
-replicaCount: 2
-
-
-image:
-  repo: docker.ozg-sh.de
-  name: bayernid-proxy
-  tag: latest # [default: latest]
-
-    
-vorgangmanagerName: vorgang-manager
-
-imagePullSecret: ozgcloud-image-pull-secret
-
-
diff --git a/nachrichten-bayernid-proxy/src/test/helm-linter-values.yaml b/nachrichten-bayernid-proxy/src/test/helm-linter-values.yaml
deleted file mode 100644
index 35e31ef09..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm-linter-values.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-ozgcloud:
-  environment: test
-  bayernid:
-      server: "https://test"
-      certificateSecretName: "bayernidCertificat"
-
-networkPolicy:
-  dnsServerNamespace: test-dns-namespace
-
diff --git a/nachrichten-bayernid-proxy/src/test/helm/configmap_bindings_type_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/configmap_bindings_type_test.yaml
deleted file mode 100644
index e097f3b15..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/configmap_bindings_type_test.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: Certificate ConfigMap Binding
-release:
-  name: vorgang-manager
-  namespace: sh-helm-test
-templates:
-  - templates/configmap_bindings_type.yaml
-tests:
-  - it: validate configMap values
-    asserts:
-      - isKind:
-          of: ConfigMap
-      - isAPIVersion:
-          of: v1
-      - equal:
-          path: metadata.name
-          value: bindings-type
-      - equal:
-          path: metadata.namespace
-          value: sh-helm-test
-      - equal:
-          path: data
-          value:
-            type: | 
-              ca-certificates
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_actuator_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_actuator_test.yaml
deleted file mode 100644
index 7fc4a5ff8..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_actuator_test.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment actuator 
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: testIsDeployment
-    template: deployment.yaml
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].readinessProbe
-          value:
-            failureThreshold: 3
-            httpGet:
-              path: /actuator/health/readiness
-              port: 8081
-              scheme: HTTP
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 3
-      - equal: 
-          path: spec.template.spec.containers[0].startupProbe
-          value: 
-            httpGet:
-              path: /actuator/health/readiness
-              port: 8081
-              scheme: HTTP
-            failureThreshold: 10
-            initialDelaySeconds: 20
-            periodSeconds: 10
-            successThreshold: 1
-            timeoutSeconds: 5    
-        
-
-
-
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_bayernid_certificate_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_bayernid_certificate_test.yaml
deleted file mode 100644
index 70bd21da3..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_bayernid_certificate_test.yaml
+++ /dev/null
@@ -1,114 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test bayernid certificate
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "https://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should contains bayernid server
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: ozgcloud_bayernid_server
-            value: "https://test"
-
-  - it: should fail when bayernid server not set 
-    set: 
-      ozgcloud:
-        environment: dev
-        bayernid:
-          server: ""
-    asserts:
-      - failedTemplate:
-          errorMessage: "ozgcloud.bayernid.server must be set"
-
-
-  - it: should set variable keystore certificate
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: spring_ssl_bundle_jks_bayern-id-ca_keystore_location
-            value: /keystore/bayernid/bayern-id-ca.p12
-
-  - it: should set variable keystore type
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: spring_ssl_bundle_jks_bayern-id-ca_keystore_type
-            value: PKCS12
-
-  - it: should set variable keystore password secret reference
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: spring_ssl_bundle_jks_bayern-id-ca_keystore_password
-            valueFrom:
-              secretKeyRef:
-                name: bayernidCertificat
-                key: password
-                optional: false
-
-  - it: should fail when secret name for bayernid certificat is not set
-    set: 
-      ozgcloud:
-        environment: dev
-        bayernid:
-          server: "bayernIdServer"
-          certificateSecretName:
-    asserts:
-      - failedTemplate:
-          errorMessage: "ozgcloud.bayernid.certificateSecretName must be set"
-
-  - it: should have volumeMount for bayernid certificate keystore
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].volumeMounts
-          content:
-            name: bayern-id-ca
-            mountPath: "/keystore/bayernid/bayern-id-ca.p12"
-            subPath: zertifikat
-            readOnly: true
-
-  - it: should have volume for bayernid certificate keystore
-    asserts:
-      - contains:
-           path: spec.template.spec.volumes
-           content:
-              name: bayern-id-ca
-              secret:
-                 secretName: bayernidCertificat
-                 optional: false
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_bindings_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_bindings_test.yaml
deleted file mode 100644
index cc051bf7b..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_bindings_test.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: deployment bayernid-proxy bindings
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should have volumeMounts for temp folder
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].volumeMounts
-          content:
-            name: temp-dir
-            mountPath: "/tmp"
-            
-  - it: should have volume for temp folder
-    asserts:
-      - contains:
-           path: spec.template.spec.volumes
-           content:
-              name: temp-dir
-              emptyDir: {}
-
-  - it: should have bindings-type volume
-    asserts:
-      - contains:
-          path: spec.template.spec.volumes
-          content:
-            name: bindings
-            configMap:
-              name: bindings-type  
-
-  - it: should have bindings-type volumeMount
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].volumeMounts
-          content:
-            name: bindings
-            mountPath: "/bindings/ca-certificates/type"
-            subPath: type
-            readOnly: true
-                
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_basic_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_container_basic_test.yaml
deleted file mode 100644
index 0da62e9e3..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_basic_test.yaml
+++ /dev/null
@@ -1,64 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment container basics
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should have correct values for container image, name, imagePullPolicy
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].image
-          value: docker.ozg-sh.de/bayernid-proxy:latest
-      - equal:
-          path: spec.template.spec.containers[0].name
-          value: bayernid-proxy
-      - equal: 
-          path: spec.template.spec.containers[0].imagePullPolicy
-          value: Always
-  - it: should have correct values for container ports
-    asserts:
-      - contains: 
-          path: spec.template.spec.containers[0].ports
-          content:  
-            containerPort: 9090
-            name: grpc-9090
-            protocol: TCP
-      - contains: 
-          path: spec.template.spec.containers[0].ports
-          content:  
-            containerPort: 8081
-            name: metrics
-            protocol: TCP
-            
-            
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_other_values_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_container_other_values_test.yaml
deleted file mode 100644
index 8daa93f0c..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_other_values_test.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-   
-   #
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment container other values
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should have correct values for container terminationMessagePolicy, terminationMessagePath, stdin, tty
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].terminationMessagePolicy
-          value: File
-      - equal:
-          path: spec.template.spec.containers[0].terminationMessagePath
-          value: /dev/termination-log
-      - equal: 
-          path: spec.template.spec.containers[0].stdin
-          value: true
-      - equal: 
-          path: spec.template.spec.containers[0].tty
-          value: true
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_security_context_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_container_security_context_test.yaml
deleted file mode 100644
index 5b6103b0e..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_container_security_context_test.yaml
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment container security context
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: check default values
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation
-          value: false
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.privileged
-          value: false
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.readOnlyRootFilesystem
-          value: false
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.runAsNonRoot
-          value: true
-      - isNull:
-          path: spec.template.spec.containers[0].securityContext.runAsUser
-      - isNull:
-          path: spec.template.spec.containers[0].securityContext.runAsGroup
-  - it: check runAsUser
-    set:
-      securityContext.runAsUser: 1000
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.runAsUser
-          value: 1000
-  - it: check runAsGroup
-    set:
-      securityContext.runAsGroup: 1000
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].securityContext.runAsGroup
-          value: 1000
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_defaults_labels_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_defaults_labels_test.yaml
deleted file mode 100644
index 3e4455dae..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_defaults_labels_test.yaml
+++ /dev/null
@@ -1,75 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment default labels
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: check metadata.labels
-    asserts:
-      - equal:
-          path: metadata.labels
-          value:
-            app.kubernetes.io/instance: bayernid-proxy
-            app.kubernetes.io/managed-by: Helm
-            app.kubernetes.io/name: bayernid-proxy
-            app.kubernetes.io/namespace: sh-helm-test
-            app.kubernetes.io/part-of: ozgcloud
-            app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
-            helm.sh/chart: bayernid-proxy-0.0.0-MANAGED-BY-JENKINS
-            app.kubernetes.io/component: bayernid-proxy
-            component: bayernid-proxy
-  
-  - it: should set spec.selector.matchLabels
-    asserts:
-      - equal:
-          path: spec.selector.matchLabels
-          value:
-            app.kubernetes.io/name: bayernid-proxy
-            app.kubernetes.io/namespace: sh-helm-test
-            component: bayernid-proxy
-
-  - it: should have correct deyploment spec.template.metadata.labels
-    asserts:
-      - equal:
-          path: spec.template.metadata.labels
-          value: 
-            app.kubernetes.io/instance: bayernid-proxy
-            app.kubernetes.io/managed-by: Helm
-            app.kubernetes.io/name: bayernid-proxy
-            app.kubernetes.io/namespace: sh-helm-test
-            app.kubernetes.io/part-of: ozgcloud
-            app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
-            helm.sh/chart: bayernid-proxy-0.0.0-MANAGED-BY-JENKINS
-            app.kubernetes.io/component: bayernid-proxy
-            component: bayernid-proxy
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_env_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_env_test.yaml
deleted file mode 100644
index f94cc7c23..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_env_test.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment container environments 
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "https://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: check customList
-    set:
-      env.customList:
-        - name: my_test_environment_name
-          value: "A test value"
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: my_test_environment_name
-            value: "A test value"
-
-  - it: check customList test value is not set by default
-    asserts:
-      - notContains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: my_test_environment_name
-            value: "A test value"
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_imagepull_secret_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_imagepull_secret_test.yaml
deleted file mode 100644
index 69c1d1b62..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_imagepull_secret_test.yaml
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment image pull secret
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should use correct imagePull secret
-    asserts:
-      - equal:
-          path: spec.template.spec.imagePullSecrets[0].name
-          value: ozgcloud-image-pull-secret
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_ozgcloud_base_values_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_ozgcloud_base_values_test.yaml
deleted file mode 100644
index 00a030065..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_ozgcloud_base_values_test.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test ozgcloud base values
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-
-tests:
-
-  - it: should fail on missing environment
-    asserts:
-      - failedTemplate:
-          errorMessage: ozgcloud.environment muss angegeben sein
-  - it: should not fail on not missing environment
-    set:
-      ozgcloud:
-        environment: dev
-        bayernid:
-          server: "http://test"
-          certificateSecretName: "bayernidCertificat"
-    asserts:
-      - notFailedTemplate: {}
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_resources_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_resources_test.yaml
deleted file mode 100644
index cb794dac0..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_resources_test.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment container resources
-release:
-  name: bayernid-proxy
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should generate resources when values set
-    set:
-      resources:
-        limits:
-          cpu: 11m
-          memory: 22Mi
-        requests:
-          cpu: 33m
-          memory: 44Mi
-    asserts:
-      - equal:
-          path: spec.template.spec.containers[0].resources.limits.cpu
-          value: 11m
-      - equal:
-          path: spec.template.spec.containers[0].resources.limits.memory
-          value: 22Mi
-      - equal:
-          path: spec.template.spec.containers[0].resources.requests.cpu
-          value: 33m
-      - equal:
-          path: spec.template.spec.containers[0].resources.requests.memory
-          value: 44Mi
-  - it: should not generate resources when values not set
-    asserts:
-      - isEmpty:
-          path: spec.template.spec.containers[0].resources
-
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_service_account_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_service_account_test.yaml
deleted file mode 100644
index 334d3f74c..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_service_account_test.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: deployment service account
-release:
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should use service account with default name
-    set:
-      serviceAccount:
-        create: true
-    asserts:
-      - equal:
-          path: spec.template.spec.serviceAccountName
-          value: bayernid-proxy-service-account
-  - it: should use service account with name
-    set:
-      serviceAccount:
-        create: true
-        name: helm-service-account
-    asserts:
-      - equal:
-          path: spec.template.spec.serviceAccountName
-          value: helm-service-account
-  - it: should use default service account
-    asserts:
-      - isNull:
-          path: spec.template.spec.serviceAccountName
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_springProfile_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_springProfile_test.yaml
deleted file mode 100644
index 70df4d35c..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_springProfile_test.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment spring profiles
-release:
-  name: bayernid-proxy
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should override spring profiles
-    set:
-      env.overrideSpringProfiles: oc,stage,ea
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: spring_profiles_active
-            value: oc,stage,ea
-  - it: should generate spring profiles 
-    asserts:
-      - contains:
-          path: spec.template.spec.containers[0].env
-          content:
-            name: spring_profiles_active
-            value: oc, dev
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deployment_template_other_values_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deployment_template_other_values_test.yaml
deleted file mode 100644
index 9d9aff7d2..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deployment_template_other_values_test.yaml
+++ /dev/null
@@ -1,81 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment template other values
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-tests:
-  - it: should have correct spec.template.spec.topologySpreadConstraints values 
-    asserts: 
-      - contains:
-          path: spec.template.spec.topologySpreadConstraints
-          content: 
-            maxSkew: 1
-            topologyKey: kubernetes.io/hostname
-            whenUnsatisfiable: ScheduleAnyway
-            labelSelector:
-              matchLabels:
-                app.kubernetes.io/name: bayernid-proxy
-  - it: should have correct deployment spec.template.spec.dnsConfig dnsPolicy restartPolicy schedulerName and terminationGracePeriodSeconds values 
-    asserts:
-      - equal:
-          path: spec.template.spec.dnsConfig
-          value: {}
-      - equal:
-          path: spec.template.spec.dnsPolicy
-          value: ClusterFirst
-      - equal:
-          path: spec.template.spec.restartPolicy
-          value: Always
-      - equal:
-          path: spec.template.spec.terminationGracePeriodSeconds
-          value: 30
-      - equal:
-          path: spec.template.spec.schedulerName
-          value: default-scheduler
-  - it: should not generate spec.template.spec.hostAlias when values set
-    set: 
-      hostAliases: test-alias
-    asserts:
-      - equal:
-          path: spec.template.spec.hostAliases 
-          value: test-alias
-    
-    
-  - it: should not generate spec.template.spec.hostAlias when values not set
-    asserts:
-      - isNull:
-          path: spec.template.spec.hostAliases 
-         
-      
-      
diff --git a/nachrichten-bayernid-proxy/src/test/helm/deyploment_general_value_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/deyploment_general_value_test.yaml
deleted file mode 100644
index 53eadc8ef..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/deyploment_general_value_test.yaml
+++ /dev/null
@@ -1,78 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test deployment general values
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/deployment.yaml
-set:
-  ozgcloud:
-    environment: dev
-    bayernid:
-      server: "http://test"
-      certificateSecretName: "bayernidCertificat"
-
-tests:
-  - it: should have correct apiVersion
-    asserts:
-      - isKind:
-          of: Deployment
-      - isAPIVersion:
-           of: "apps/v1"
-    
-  
-  - it: should have correct deployment metadata 
-    asserts: 
-      - equal:
-          path: metadata.name
-          value: bayernid-proxy
-      - equal: 
-          path: metadata.namespace
-          value: sh-helm-test
-
-
-  - it: should have correct deyployment general spec values
-    asserts:
-      - equal:
-          path: spec.progressDeadlineSeconds
-          value: 600
-      - equal:
-          path: spec.replicas
-          value: 2
-      - equal:
-          path: spec.revisionHistoryLimit
-          value: 10
-  - it: should have correct deployment spec strategy values
-    asserts:
-      - equal: 
-          path: spec.strategy
-          value: 
-            rollingUpdate:
-              maxSurge: 1
-              maxUnavailable: 0
-            type: RollingUpdate
-          
-
diff --git a/nachrichten-bayernid-proxy/src/test/helm/network_policy_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/network_policy_test.yaml
deleted file mode 100644
index 6942329e6..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/network_policy_test.yaml
+++ /dev/null
@@ -1,183 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: network policy test
-release:
-  namespace: by-helm-test
-templates:
-  - templates/network_policy.yaml
-tests:
-  - it: should match apiVersion
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - isAPIVersion:
-          of: networking.k8s.io/v1
-
-  - it: should match kind
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - isKind:
-          of: NetworkPolicy
-
-  - it: should match metadata
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - equal:
-          path: metadata
-          value:
-            name: network-policy-bayernid-proxy
-            namespace: by-helm-test
-
-  - it: should generate spec
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - equal:
-          path: spec
-          value:
-            podSelector:
-              matchLabels:
-                component: bayernid-proxy
-            policyTypes:
-              - Ingress
-              - Egress
-            ingress:
-            - ports:
-              - port: 9090
-              from:
-              - podSelector: 
-                  matchLabels:
-                    component: vorgang-manager
-            egress:
-            - to:
-              - namespaceSelector:
-                  matchLabels:
-                    kubernetes.io/metadata.name: test-dns-namespace
-              ports:
-                - port: 53
-                  protocol: UDP
-                - port: 53
-                  protocol: TCP
-                - port: 5353
-                  protocol: UDP
-                - port: 5353
-                  protocol: TCP
-
-  - it: should add additionalIngressConfig
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-        additionalIngressConfig:
-        - from:
-          - podSelector: 
-              matchLabels:
-                additionalIngressConfig: yes
-    asserts:
-      - contains:
-          path: spec.ingress
-          content:
-            from:
-            - podSelector: 
-                matchLabels:
-                  additionalIngressConfig: yes
-
-  - it: should add additionalEgressConfig
-    set:
-      networkPolicy: 
-        dnsServerNamespace: test-dns-namespace
-        additionalEgressConfig:
-        - to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfig: yes
-    asserts:
-    - contains:
-        path: spec.egress
-        content:
-          to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfig: yes
-
-
-  - it: should add additionalIngressConfigNamespace
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-        additionalIngressConfigNamespace:
-        - from:
-          - podSelector: 
-              matchLabels:
-                additionalIngressConfigNamespace: yes
-    asserts:
-      - contains:
-          path: spec.ingress
-          content:
-            from:
-            - podSelector: 
-                matchLabels:
-                  additionalIngressConfigNamespace: yes
-
-  - it: should add additionalEgressConfigNamespace
-    set:
-      networkPolicy:
-        dnsServerNamespace: test-dns-namespace
-        additionalEgressConfigNamespace:
-        - to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfigNamespace: yes
-    asserts:
-    - contains:
-        path: spec.egress
-        content:
-          to:
-          - podSelector:
-              matchLabels:
-                additionalEgressConfigNamespace: yes
-
-  - it: test network policy disabled
-    set:
-      networkPolicy:
-        disabled: true
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - hasDocuments:
-          count: 0
-
-  - it: test network policy unset should be disabled
-    set:
-      networkPolicy:
-        disabled: false
-        dnsServerNamespace: test-dns-namespace
-    asserts:
-      - hasDocuments:
-          count: 1
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/service_account_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/service_account_test.yaml
deleted file mode 100644
index 41565540d..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/service_account_test.yaml
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test service account
-release:
-  namespace: sh-helm-test
-templates:
-  - templates/service_account.yaml
-tests:
-  - it: should create service account with default name
-    set:
-      serviceAccount:
-        create: true
-    asserts:
-      - isKind:
-          of: ServiceAccount
-      - isAPIVersion:
-           of: v1
-      - equal:
-          path: metadata.name
-          value: bayernid-proxy-service-account
-      - equal:
-          path: metadata.namespace
-          value: sh-helm-test
-
-  - it: should create service account with name
-    set:
-      serviceAccount:
-        create: true
-        name: helm-service-account
-    asserts:
-      - isKind:
-          of: ServiceAccount
-      - equal:
-          path: metadata.name
-          value: helm-service-account
-      - equal:
-          path: metadata.namespace
-          value: sh-helm-test
-
-  - it: should not create service account
-    asserts:
-      - hasDocuments:
-         count: 0
\ No newline at end of file
diff --git a/nachrichten-bayernid-proxy/src/test/helm/service_test.yaml b/nachrichten-bayernid-proxy/src/test/helm/service_test.yaml
deleted file mode 100644
index 533bdd32b..000000000
--- a/nachrichten-bayernid-proxy/src/test/helm/service_test.yaml
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
-# Ministerpräsidenten des Landes Schleswig-Holstein
-# Staatskanzlei
-# Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
-#
-# Lizenziert unter der EUPL, Version 1.2 oder - sobald
-# diese von der Europäischen Kommission genehmigt wurden -
-# Folgeversionen der EUPL ("Lizenz");
-# Sie dürfen dieses Werk ausschließlich gemäß
-# dieser Lizenz nutzen.
-# Eine Kopie der Lizenz finden Sie hier:
-#
-# https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
-#
-# Sofern nicht durch anwendbare Rechtsvorschriften
-# gefordert oder in schriftlicher Form vereinbart, wird
-# die unter der Lizenz verbreitete Software "so wie sie
-# ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
-# ausdrücklich oder stillschweigend - verbreitet.
-# Die sprachspezifischen Genehmigungen und Beschränkungen
-# unter der Lizenz sind dem Lizenztext zu entnehmen.
-#
-
-suite: test service
-release:
-  name: bayernid-proxy
-  namespace: sh-helm-test
-templates:
-  - templates/service.yaml
-tests:
-  - it: should have the label component with correct value 
-    asserts:
-      - isKind:
-          of: Service
-      - isAPIVersion:
-           of: v1
-      - equal:
-          path: metadata.labels.component
-          value: bayernid-proxy
-  - it: should be of type ClusterIP
-    asserts:
-      - equal:
-          path: spec.type
-          value: ClusterIP
-  - it: ports should contain the grpc port
-    asserts:
-      - contains:
-          path: spec.ports
-          content:
-            name: grpc-9090
-            port: 9090
-            protocol: TCP
-          count: 1
-          any: true
-  - it: ports should contain the metrics port
-    asserts:
-      - contains:
-          path: spec.ports
-          content:
-            name: metrics
-            port: 8081
-            protocol: TCP
-          count: 1
-          any: true
-  - it: selector should contain the component label with correct value
-    asserts:
-      - equal:
-          path: spec.selector.component
-          value: bayernid-proxy
-
-  - it: selector should contain helm recommended labels name and namespace
-    asserts:
-      - equal:
-          path: spec.selector
-          value:
-            app.kubernetes.io/name: bayernid-proxy
-            app.kubernetes.io/namespace: sh-helm-test
-            component: bayernid-proxy
-
-  - it: check component label for service
-    asserts:
-      - equal:
-          path: metadata.labels["component"]
-          value: bayernid-proxy
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index a1a8be566..efc80ee15 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,6 @@
 		<module>vorgang-manager-command</module>
 		<module>bescheid-manager</module>
 		<module>vorgang-manager-base</module>
-		<module>nachrichten-bayernid-proxy</module>
 	</modules>
 
 	<build>
-- 
GitLab