diff --git a/run_helm_test.sh b/run_helm_test.sh
index 3e37c7fcde941bda9e3456c45c299dd62c1ecda5..b19a9bc7c3072044dff8f0fb54c04c29acc3fbf6 100755
--- a/run_helm_test.sh
+++ b/run_helm_test.sh
@@ -4,4 +4,4 @@ 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' .
\ No newline at end of file
+cd src/main/helm && helm unittest  -f '../../test/helm/**/*test.yaml' .
\ No newline at end of file
diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl
index 0915f0f2372d26b4dab57e0c2aa3a25dae0b6b08..e0ff7ea44b451f802f623ad7b1f1e3cd47f829ce 100644
--- a/src/main/helm/templates/_helpers.tpl
+++ b/src/main/helm/templates/_helpers.tpl
@@ -42,11 +42,6 @@ app.kubernetes.io/name: {{ .Release.Name }}
 app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- end -}}
 
-{{- define "app.imagePullSecret" }}
-{{- with .Values.imageCredentials }}
-{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }}
-{{- end }}
-{{- end }}
 
 {{- define "app.envSpringProfiles" }}
 {{- if (.Values.env).overrideSpringProfiles -}}
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index 700bdd9fb705ff655998f12c23c3af4dfb1cde54..89c0a9277df86d7042b64ea75e4c2213e8a21331 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -156,11 +156,7 @@ spec:
       dnsConfig: {}
       dnsPolicy: ClusterFirst
       imagePullSecrets:
-      {{- if .Values.imagePullSecret }}
-      - name: {{ .Values.imagePullSecret }}
-      {{ else }}
-      - name: {{ .Release.Name }}-image-pull-secret
-      {{- end }}
+      - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }}
       restartPolicy: Always
       {{- with .Values.hostAliases }}
       hostAliases:
diff --git a/src/main/helm/templates/image-pull-secret.yaml b/src/main/helm/templates/image-pull-secret.yaml
deleted file mode 100644
index 327b37f8b27d39d926ae1a67d6ef35701b9852e8..0000000000000000000000000000000000000000
--- a/src/main/helm/templates/image-pull-secret.yaml
+++ /dev/null
@@ -1,34 +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.
-#
-
-{{- if not (.Values.imagePullSecret) }}
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ .Release.Name }}-image-pull-secret
-  namespace: {{ include "app.namespace" . }}
-type: kubernetes.io/dockerconfigjson
-data:
-  .dockerconfigjson: {{ include "app.imagePullSecret" . }}
-{{- end }}
\ No newline at end of file
diff --git a/src/test/helm-linter-values.yaml b/src/test/helm-linter-values.yaml
index dc7bf7d67561d23925b5ebd3cbac9a491af1ffc8..42eb0483702aedeef01c2dd6a7430108adfa3560 100644
--- a/src/test/helm-linter-values.yaml
+++ b/src/test/helm-linter-values.yaml
@@ -28,4 +28,6 @@ ozgcloud:
   bundesland: sh
 
 networkPolicy:
-  dnsServerNamespace: test-dns-server-namespace
\ No newline at end of file
+  dnsServerNamespace: test-dns-server-namespace
+
+imagePullSecret: image-pull-secret
\ No newline at end of file
diff --git a/src/test/helm/deployment_63_chars_test.yaml b/src/test/helm/deployment_63_chars_test.yaml
index 1e63b47eed93c5e640879e17856231ee1606eaee..62c2f8e3ca43e56adea5171322c914b79f892698 100644
--- a/src/test/helm/deployment_63_chars_test.yaml
+++ b/src/test/helm/deployment_63_chars_test.yaml
@@ -31,6 +31,7 @@ chart:
   name: eingang-manager
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 templates:
   - templates/deployment.yaml
 
diff --git a/src/test/helm/deployment_bindings_test.yaml b/src/test/helm/deployment_bindings_test.yaml
index 9b3f68067786e6cdcb5a77c4dd07fced16581305..6e48055b01e611b36369c432835f085bebc69b3c 100644
--- a/src/test/helm/deployment_bindings_test.yaml
+++ b/src/test/helm/deployment_bindings_test.yaml
@@ -27,6 +27,7 @@ templates:
   - templates/deployment.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: should have temp-dir volume
     asserts:
diff --git a/src/test/helm/deployment_container_security_context_test.yaml b/src/test/helm/deployment_container_security_context_test.yaml
index ddaa3ee20b9b707914a69d75e00e77ab6df702ca..0613312047954222164d9e3290025f0873d95086 100644
--- a/src/test/helm/deployment_container_security_context_test.yaml
+++ b/src/test/helm/deployment_container_security_context_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment container security
 release:
   name: eingang-manager
   namespace: sh-helm-test
@@ -30,11 +30,10 @@ templates:
   - templates/deployment.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: check default values
     asserts:
-      - isKind:
-          of: Deployment
       - equal:
           path: spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation
           value: false
diff --git a/src/test/helm/deployment_defaults_containers_health_test.yaml b/src/test/helm/deployment_defaults_containers_health_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c6e30a3a92cda6fdb3ad6c7ec29c41dea5e19139
--- /dev/null
+++ b/src/test/helm/deployment_defaults_containers_health_test.yaml
@@ -0,0 +1,82 @@
+#
+# 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 health check
+release:
+  name: eingang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:
+  ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
+tests:
+  - it: should have correct health check values
+    asserts:
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.failureThreshold
+          value: 3
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.httpGet.path
+          value: /actuator/health/readiness
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.httpGet.port
+          value: 8081
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.httpGet.scheme
+          value: HTTP
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.periodSeconds
+          value: 10
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.successThreshold
+          value: 1
+      - equal:
+          path: spec.template.spec.containers[0].readinessProbe.timeoutSeconds
+          value: 3  
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.failureThreshold
+          value: 10
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.httpGet.path
+          value: /actuator/health/readiness
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.httpGet.port
+          value: 8081
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.httpGet.scheme
+          value: HTTP
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.initialDelaySeconds
+          value: 30
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.periodSeconds
+          value: 5
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.successThreshold
+          value: 1
+      - equal:
+          path: spec.template.spec.containers[0].startupProbe.timeoutSeconds
+          value: 5
+      
\ No newline at end of file
diff --git a/src/test/helm/deployment_defaults_labels_test.yaml b/src/test/helm/deployment_defaults_labels_test.yaml
index e5688f081df983cb484ad12faf57719437655b7f..4e2d5f7fd51431f4d91582e5cc50dd5d8ba1d837 100644
--- a/src/test/helm/deployment_defaults_labels_test.yaml
+++ b/src/test/helm/deployment_defaults_labels_test.yaml
@@ -22,28 +22,28 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment default label
 release:
   name: intelliform-adapter
   namespace: sh-helm-test
 templates:
   - templates/deployment.yaml
-  - templates/service_monitor.yaml
-  - templates/service.yaml
+
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: check default labels
     asserts:
       - equal:
-          path: metadata.labels["app.kubernetes.io/instance"]
-          value: afm-adapter
-      - equal:
-          path: metadata.labels["app.kubernetes.io/name"]
-          value: intelliform-adapter
-      - equal:
-          path: metadata.labels["app.kubernetes.io/part-of"]
-          value: ozgcloud
-      - equal:
-          path: metadata.labels["app.kubernetes.io/namespace"]
-          value: sh-helm-test
+          path: metadata.labels
+          value: 
+            app.kubernetes.io/instance: afm-adapter
+            app.kubernetes.io/managed-by: Helm
+            app.kubernetes.io/name: intelliform-adapter
+            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: Intelliform-Adapter-0.0.0-MANAGED-BY-JENKINS
+            ozg-component: eingangsadapter
+
diff --git a/src/test/helm/deployment_defaults_spec_containers_test.yaml b/src/test/helm/deployment_defaults_spec_containers_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..947c086f31e1b3a064cbe3577123c4e087577669
--- /dev/null
+++ b/src/test/helm/deployment_defaults_spec_containers_test.yaml
@@ -0,0 +1,75 @@
+#
+# 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: eingang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:  
+  ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
+tests:
+  - it: check for some standard values
+    asserts:
+      - equal:
+          path: spec.template.spec.containers[0].image
+          value: docker.ozg-sh.de/intelliform-adapter:latest
+      - equal:
+          path: spec.template.spec.containers[0].imagePullPolicy
+          value: Always
+      - equal:
+          path: spec.template.spec.containers[0].name
+          value: intelliform-adapter
+      - equal:
+          path: spec.template.spec.containers[0].ports[0].containerPort
+          value: 8080
+      - equal:
+          path: spec.template.spec.containers[0].ports[0].name
+          value: 8080tcp1
+      - equal:
+          path: spec.template.spec.containers[0].ports[0].protocol
+          value: TCP
+      - equal:
+          path: spec.template.spec.containers[0].stdin
+          value: true
+      - equal:
+          path: spec.template.spec.containers[0].terminationMessagePath
+          value: /dev/termination-log
+      - equal:
+          path: spec.template.spec.containers[0].terminationMessagePolicy
+          value: File
+      - equal:
+          path: spec.template.spec.containers[0].tty
+          value: true
+      - equal:
+          path: spec.template.spec.containers[0].ports[1].containerPort
+          value: 8081
+      - equal:
+          path: spec.template.spec.containers[0].ports[1].name
+          value: metrics
+      - equal:
+          path: spec.template.spec.containers[0].ports[1].protocol
+          value: TCP
\ No newline at end of file
diff --git a/src/test/helm/deployment_test.yaml b/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml
similarity index 60%
rename from src/test/helm/deployment_test.yaml
rename to src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml
index 7edba4d797ab8fb1484784d4d1cef9079f627eb6..9364e4502d8d63cc0968b5590212fec3591c7f84 100644
--- a/src/test/helm/deployment_test.yaml
+++ b/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml
@@ -22,33 +22,27 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment topology
 release:
-  name: intelliform-adapter
+  name: eingang-manager
   namespace: sh-helm-test
 templates:
-  - deployment.yaml
-set:
+  - templates/deployment.yaml
+set:  
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
-  - it: validate image type and container image
+  - it: check default values
     asserts:
-      - isKind:
-          of: Deployment
       - equal:
-          path: spec.template.spec.containers[0].image
-          value: docker.ozg-sh.de/intelliform-adapter:latest
-  - it: validate image pull secret resource name
-    asserts:
+          path: spec.template.spec.topologySpreadConstraints[0].maxSkew
+          value: 1
       - equal:
-          path: spec.template.spec.imagePullSecrets[0].name
-          value: intelliform-adapter-image-pull-secret
+          path: spec.template.spec.topologySpreadConstraints[0].topologyKey
+          value: kubernetes.io/hostname
       - equal:
-          path: spec.template.spec.containers[0].image
-          value: docker.ozg-sh.de/intelliform-adapter:latest
-  - it: should have label ozg-component
-    asserts:
+          path: spec.template.spec.topologySpreadConstraints[0].whenUnsatisfiable
+          value: DoNotSchedule
       - equal:
-          path: metadata.labels.ozg-component
-          value: eingangsadapter
-
+          path: spec.template.spec.topologySpreadConstraints[0].labelSelector.matchLabels["app.kubernetes.io/name"]
+          value: eingang-manager
\ No newline at end of file
diff --git a/src/test/helm/deployment_env_test.yaml b/src/test/helm/deployment_env_customList_test.yaml
similarity index 94%
rename from src/test/helm/deployment_env_test.yaml
rename to src/test/helm/deployment_env_customList_test.yaml
index fbc35ac562a0fa9aeb4ffae2a198acb173db4cc7..16022898f61af3474411ceff275c470d1feed81a 100644
--- a/src/test/helm/deployment_env_test.yaml
+++ b/src/test/helm/deployment_env_customList_test.yaml
@@ -22,14 +22,14 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test environments
+suite: test environments customList
 templates:
   - templates/deployment.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: check customList
-    template: deployment.yaml
     set:
       env.customList:
         - name: my_test_environment_name
@@ -41,7 +41,6 @@ tests:
             name: my_test_environment_name
             value: "A test value"
   - it: check customList test value is not set by default
-    template: deployment.yaml
     asserts:
       - notContains:
           path: spec.template.spec.containers[0].env
diff --git a/src/test/helm/deployment_host_aliases_test.yaml b/src/test/helm/deployment_host_aliases_test.yaml
index 5bd226ad13c2cade607f3981f15b3f7ab3bee237..4ba73fa7df272156fb3597522bcdf478abd88d1f 100644
--- a/src/test/helm/deployment_host_aliases_test.yaml
+++ b/src/test/helm/deployment_host_aliases_test.yaml
@@ -31,6 +31,7 @@ templates:
 
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: should not set hostAliases
     asserts:
diff --git a/src/test/helm/deployment_imagepull_secret_test.yaml b/src/test/helm/deployment_imagepull_secret_test.yaml
index e48100c1bbd73d6d9ec54caa7fbf40a0cbaee231..eb15225e4c522e445b55a64820eafa03b98022aa 100644
--- a/src/test/helm/deployment_imagepull_secret_test.yaml
+++ b/src/test/helm/deployment_imagepull_secret_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment imagepullsecret
 release:
   name: afm-adapter
   namespace: sh-helm-test
@@ -31,19 +31,14 @@ templates:
 set:
   ozgcloud.environment: test
 tests:
-  - it: should use default imagePull secret
-    asserts:
-      - isKind:
-          of: Deployment
-      - equal:
-          path: spec.template.spec.imagePullSecrets[0].name
-          value: afm-adapter-image-pull-secret
   - it: should set the imagePull secret
     set:
       imagePullSecret: image-pull-secret
     asserts:
-      - isKind:
-          of: Deployment
       - equal:
           path: spec.template.spec.imagePullSecrets[0].name
-          value: image-pull-secret
\ No newline at end of file
+          value: image-pull-secret
+  - it: should fail tempalte when not set
+    asserts:
+      - failedTemplate:
+          errorMessage: imagePullSecret must be set
\ No newline at end of file
diff --git a/src/test/helm/deployment_liveness_probe_test.yaml b/src/test/helm/deployment_liveness_probe_test.yaml
index bca6419f5c5bcf34a4d6c1bb533f22a20256bede..944984fb52cf4b6fbefa346eb1fcfcf065c1a581 100644
--- a/src/test/helm/deployment_liveness_probe_test.yaml
+++ b/src/test/helm/deployment_liveness_probe_test.yaml
@@ -22,20 +22,19 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment liveness probe
 templates:
   - templates/deployment.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: livenessProbe should be disabled by default
-    template: deployment.yaml
     asserts:
       - notExists:
           path: spec.template.spec.containers[0].livenessProbe
 
   - it: enable livenessProbe
-    template: deployment.yaml
     set:
       enableLivenessProbe: true
     asserts:
diff --git a/src/test/helm/deployment_pod_default_spec_values_test.yaml b/src/test/helm/deployment_pod_default_spec_values_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ed1df2ad69fe488678b6778fc7143b9879db902a
--- /dev/null
+++ b/src/test/helm/deployment_pod_default_spec_values_test.yaml
@@ -0,0 +1,50 @@
+ #
+# 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 deployment container basics
+release:
+  name: eingang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:
+  ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
+tests:
+ - it: should have correct pod template values
+   asserts:
+      - isEmpty:
+          path: spec.template.spec.dnsConfig
+      - equal:
+          path: spec.template.spec.dnsPolicy
+          value: "ClusterFirst"
+      - equal:
+          path: spec.template.spec.restartPolicy
+          value: "Always"
+      - equal:
+          path: spec.template.spec.schedulerName
+          value: "default-scheduler"
+      - equal:
+          path: spec.template.spec.terminationGracePeriodSeconds
+          value: 30
\ No newline at end of file
diff --git a/src/test/helm/deployment_resources_test.yaml b/src/test/helm/deployment_resources_test.yaml
index e945125e67791a5d195ac5d27d420732e995d3b6..6404c0c9b9549733ce89f1b3a73e5384b692c702 100644
--- a/src/test/helm/deployment_resources_test.yaml
+++ b/src/test/helm/deployment_resources_test.yaml
@@ -22,13 +22,14 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment resources
 release:
   name: afm-adapter
 templates:
   - templates/deployment.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: test resources
     set:
diff --git a/src/test/helm/deployment_routing-strategy.yaml b/src/test/helm/deployment_routing_strategy_env.yaml
similarity index 96%
rename from src/test/helm/deployment_routing-strategy.yaml
rename to src/test/helm/deployment_routing_strategy_env.yaml
index 72d2046884e5cc96194448ef52daad3c170ee969..dc9ae515b3ad4c3c4ae977d4700736ff1f6633dc 100644
--- a/src/test/helm/deployment_routing-strategy.yaml
+++ b/src/test/helm/deployment_routing_strategy_env.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test deployment routing strategy
 release:
   name: intelliform-adapter
   namespace: sh-helm-test
@@ -31,6 +31,7 @@ templates:
 set:
   image.tag: latest
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: validate default routing values without questions.yaml
     asserts:
diff --git a/src/test/helm/deployment_service_account_test.yaml b/src/test/helm/deployment_service_account_test.yaml
index 1c3b8a40130177ef415443d82574265202f89243..0a5df07ed2cc679e0271998764a6a00ea893dff1 100644
--- a/src/test/helm/deployment_service_account_test.yaml
+++ b/src/test/helm/deployment_service_account_test.yaml
@@ -31,6 +31,7 @@ templates:
 
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: should use afm-adapter service account name
     set:
diff --git a/src/test/helm/deployment_springProfile_test.yaml b/src/test/helm/deployment_springProfile_env_test.yaml
similarity index 94%
rename from src/test/helm/deployment_springProfile_test.yaml
rename to src/test/helm/deployment_springProfile_env_test.yaml
index 446ce8f43177fd6f67bb53b780d2159c5edc228d..001fbf3d2e27589848ca87efb16347a183a2cd34 100644
--- a/src/test/helm/deployment_springProfile_test.yaml
+++ b/src/test/helm/deployment_springProfile_env_test.yaml
@@ -27,14 +27,13 @@ release:
   name: if-adapter
 templates:
   - templates/deployment.yaml
-
+set:
+  imagePullSecret: image-pull-secret
 tests:
   - it: should override spring profiles
     set:
       env.overrideSpringProfiles: oc,stage,ea
     asserts:
-      - isKind:
-          of: Deployment
       - contains:
           path: spec.template.spec.containers[0].env
           content:
@@ -44,8 +43,6 @@ tests:
     set:
       ozgcloud.environment: test
     asserts:
-      - isKind:
-          of: Deployment
       - contains:
           path: spec.template.spec.containers[0].env
           content:
diff --git a/src/test/helm/deyploment_general_value_and_default_spec_test.yaml b/src/test/helm/deyploment_general_value_and_default_spec_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0ab50fa23c12c02f58e50dd546c9a8417b40c975
--- /dev/null
+++ b/src/test/helm/deyploment_general_value_and_default_spec_test.yaml
@@ -0,0 +1,73 @@
+#
+# 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 deployment general values
+release:
+  name: eingang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:
+  ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
+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: eingang-manager
+      - 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: null
+      - 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/src/test/helm/image-pull-secret-test.yaml b/src/test/helm/image-pull-secret-test.yaml
deleted file mode 100644
index 71e2149189f71dab73ffe321033ae29dc4bb4f65..0000000000000000000000000000000000000000
--- a/src/test/helm/image-pull-secret-test.yaml
+++ /dev/null
@@ -1,57 +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 image pull secret
-templates:
-  - templates/image-pull-secret.yaml
-release:
-  name: intelliform-adaptero
-  namespace: helm-test
-tests:
-  - it: should match basic data
-    set:
-      imageCredentials:
-        registry: docker.ozg-sh.de
-        username: test
-        password: test1234
-        email: webmaster@ozg-sh.de
-    asserts:
-      - containsDocument:
-          kind: Secret
-          apiVersion: v1
-      - equal:
-          path: metadata.name
-          value: intelliform-adaptero-image-pull-secret
-      - equal:
-          path: metadata.namespace
-          value: helm-test
-      - isNotEmpty:
-          path: data[".dockerconfigjson"]
-
-  - it: should not create image pull secret
-    set:
-      imagePullSecret: "image-pull-secret"
-    asserts:
-      - hasDocuments:
-          count: 0
\ No newline at end of file
diff --git a/src/test/helm/ingress-create-or-not.yaml b/src/test/helm/ingress_create_or_not.yaml
similarity index 100%
rename from src/test/helm/ingress-create-or-not.yaml
rename to src/test/helm/ingress_create_or_not.yaml
diff --git a/src/test/helm/ingress_host_test.yaml b/src/test/helm/ingress_host_test.yaml
deleted file mode 100644
index 0889865bd4e04095929746d3d2953ed5463d1def..0000000000000000000000000000000000000000
--- a/src/test/helm/ingress_host_test.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-suite: test ozgcloud bezeichner length
-release:
-  name: eingang-manager
-  namespace: sh-helm-test
-templates:
-  - templates/ingress.yaml
-
-tests:
-  - it: should fail on bezeichner (in ingress host) length longer than 46 characters
-    template: ingress.yaml
-    set:
-      ozgcloud:
-        bezeichner: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
-        environment: test
-        bundesland: by
-    asserts:
-      - failedTemplate:
-          errorMessage: Bezeichner test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 46 Zeichen)
\ No newline at end of file
diff --git a/src/test/helm/ingress-nginx-tests.yaml b/src/test/helm/ingress_nginx_tests.yaml
similarity index 100%
rename from src/test/helm/ingress-nginx-tests.yaml
rename to src/test/helm/ingress_nginx_tests.yaml
diff --git a/xta-adapter/src/main/helm/templates/image-pull-secret.yaml b/src/test/helm/realm_name_length_test.yaml
similarity index 60%
rename from xta-adapter/src/main/helm/templates/image-pull-secret.yaml
rename to src/test/helm/realm_name_length_test.yaml
index 327b37f8b27d39d926ae1a67d6ef35701b9852e8..5cb46db2bb654c1ff01c2ad09c9d95e8e62b4158 100644
--- a/xta-adapter/src/main/helm/templates/image-pull-secret.yaml
+++ b/src/test/helm/realm_name_length_test.yaml
@@ -22,13 +22,20 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-{{- if not (.Values.imagePullSecret) }}
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ .Release.Name }}-image-pull-secret
-  namespace: {{ include "app.namespace" . }}
-type: kubernetes.io/dockerconfigjson
-data:
-  .dockerconfigjson: {{ include "app.imagePullSecret" . }}
-{{- end }}
\ No newline at end of file
+suite: test ozgcloud bezeichner length
+release:
+  name: eingang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/ingress.yaml
+
+tests:
+  - it: should fail on bezeichner length longer than 46 characters
+    set:
+      ozgcloud:
+        bezeichner: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
+        environment: test
+        bundesland: by
+    asserts:
+      - failedTemplate:
+          errorMessage: Bezeichner test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 46 Zeichen)
\ No newline at end of file
diff --git a/src/test/helm/service_account_test.yaml b/src/test/helm/service_account_test.yaml
index 52561bed188a291f689b81480f02126cd8aed6bc..81b86cc0508c4023402a30ec49ee8de8a5abff20 100644
--- a/src/test/helm/service_account_test.yaml
+++ b/src/test/helm/service_account_test.yaml
@@ -37,12 +37,15 @@ tests:
     asserts:
       - isKind:
           of: ServiceAccount
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.name
           value: afm-adapter-service-account
       - equal:
           path: metadata.namespace
-          value: sh-helm-test
+          value: sh-helm-test    
+
   - it: should create default fs adapter service account name
     set:
       image.name: formsolutions-adapter
diff --git a/src/test/helm/service_monitor_test.yaml b/src/test/helm/service_monitor_test.yaml
index 55ebac3068844aafb2c632b1ab528b7cefe9cefe..c85a7a6b6cb599d55d1bd699bd84f2f2ac6f387c 100644
--- a/src/test/helm/service_monitor_test.yaml
+++ b/src/test/helm/service_monitor_test.yaml
@@ -22,26 +22,48 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test service monitor
 release:
   name: afm-adapter
   namespace: sh-helm-test
 templates:
   - templates/service_monitor.yaml
 tests:
-  - it: should have the label component with value afm-adapter-service-monitor attached
+  - it: should have basic info and the label component with value afm-adapter-service-monitor attached
     asserts:
       - isKind:
           of: ServiceMonitor
+      - isAPIVersion:
+          of: monitoring.coreos.com/v1
+      - equal:
+          path: metadata.name
+          value: afm-adapter
+      - equal:
+          path: metadata.namespace
+          value: sh-helm-test
       - equal:
           path: metadata.labels["component"]
           value: afm-adapter-service-monitor
+      
+  - it: should contain default lables and component lables
+    asserts:
+      - equal:
+          path: metadata.labels
+          value:
+            app.kubernetes.io/instance: afm-adapter
+            app.kubernetes.io/managed-by: Helm
+            app.kubernetes.io/name: afm-adapter
+            app.kubernetes.io/namespace: sh-helm-test
+            app.kubernetes.io/part-of: ozgcloud
+            app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
+            component: afm-adapter-service-monitor
+            helm.sh/chart: Intelliform-Adapter-0.0.0-MANAGED-BY-JENKINS
+            ozg-component: eingangsadapter
+
   - it: should have the metrics endpoint configured by default
     set:
       env.springProfiles: oc,stage
     asserts:
-      - isKind:
-          of: ServiceMonitor
       - contains:
           path: spec.endpoints
           content:
@@ -49,8 +71,6 @@ tests:
             path: /actuator/prometheus
   - it: should be able to enable the endpoint
     asserts:
-      - isKind:
-          of: ServiceMonitor
       - contains:
           path: spec.endpoints
           content:
diff --git a/src/test/helm/service_test.yaml b/src/test/helm/service_test.yaml
index 9004018482d301c6e942d4cc0112de534105a38e..ebc38d5c4c073721252e15a296588b7a73af23bf 100644
--- a/src/test/helm/service_test.yaml
+++ b/src/test/helm/service_test.yaml
@@ -22,20 +22,28 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test deployment
+suite: test service
 release:
   name: afm-adapter
   namespace: sh-helm-test
 templates:
   - templates/service.yaml
 tests:
-  - it: should have the label component with value afm-adapter-service attached
+  - it: should have basics and the label component with value afm-adapter-service attached
     asserts:
       - isKind:
           of: Service
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.labels["component"]
           value: afm-adapter-service
+      - equal:
+          path: metadata.name
+          value: afm-adapter
+      - equal:
+          path: metadata.namespace
+          value: sh-helm-test
   - it: should be of type ClusterIP
     asserts:
       - equal:
@@ -75,4 +83,18 @@ tests:
       - equal:
           path: spec.selector["app.kubernetes.io/namespace"]
           value: sh-helm-test
-  
\ No newline at end of file
+
+  - it: should contain default lables and component lables
+    asserts:
+      - equal:
+          path: metadata.labels
+          value:
+            app.kubernetes.io/instance: afm-adapter
+            app.kubernetes.io/managed-by: Helm
+            app.kubernetes.io/name: afm-adapter
+            app.kubernetes.io/namespace: sh-helm-test
+            app.kubernetes.io/part-of: ozgcloud
+            app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
+            component: afm-adapter-service
+            helm.sh/chart: Intelliform-Adapter-0.0.0-MANAGED-BY-JENKINS
+            ozg-component: eingangsadapter
\ No newline at end of file
diff --git a/xta-adapter/readme.md b/xta-adapter/readme.md
index e285cd941516971122a3d156ca0685b0dfb4da55..0bac437c660b639ce2889e763554ca4cf0850e8e 100644
--- a/xta-adapter/readme.md
+++ b/xta-adapter/readme.md
@@ -22,7 +22,6 @@ Dann in Base64 umwandeln, damit es als Umgebungsvariable gesetzt werden kann:
     base64 KOP_SH_KIEL_DEV.p12
 
 # Lokale Installation
-
 Lokal das Root CA in keystore laden (https://ddatabox.dataport.de/public/download-shares/XUok5Wk3EDGWyYaoFGldOeJfGu0J8pke):
 
     sudo keytool -trustcacerts -keystore /lib/jvm/java-1.17.0-openjdk-amd64/lib/security/cacerts -storepass changeit -importcert -alias dataportRoot -file DataportRootCA02.crt
@@ -31,7 +30,14 @@ Port forwarding aktivieren. Um eine Verbindung zum Nachrichtenbroker aufbauen zu
 
     ssh -L 3000:141.91.184.67:443 ozg-sh.de (ggf ssh -L 0.0.0.0:3000:141.91.184.67:443 ozg-sh.de)
 
-## deprecated 
+## Alternative Dataport Zertifikat Installation
+Zertifikate direkt vom Endpunkt anfragen: 
+```shell
+openssl s_client -showcerts -connect li33-0005.dp.dsecurecloud.de:443 </dev/null
+```
+und das `Dataport Root CA` Zertifikat unter `/etc/ssl/certs/dataport-root-ca.pem` abspeichern, dann `sudo update-ca-certificates` aufrufen.
+
+## deprecated
 
 DEPRECATED, da wir den HostNameVerifier deaktiviert haben: Hosts Datei erzeugen, damit der Hostname passt:
 
diff --git a/xta-adapter/run_helm_test.sh b/xta-adapter/run_helm_test.sh
index 9a57c3aa8f89a760772338f83d79796e04c242cb..31d13d5b9e4162f68f627d2eb96c3b2b3a98828a 100755
--- a/xta-adapter/run_helm_test.sh
+++ b/xta-adapter/run_helm_test.sh
@@ -4,4 +4,4 @@ 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'  .
+cd src/main/helm && helm unittest -f '../../test/helm/**/*.yaml'  .
diff --git a/xta-adapter/src/main/helm/templates/_helpers.tpl b/xta-adapter/src/main/helm/templates/_helpers.tpl
index afcc6d669c8d184bc9029f310e6b9464372b5cfd..5d09c85640bf9ac9943624f3f038687a2bdeec88 100644
--- a/xta-adapter/src/main/helm/templates/_helpers.tpl
+++ b/xta-adapter/src/main/helm/templates/_helpers.tpl
@@ -36,12 +36,6 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 helm.sh/chart: {{ include "app.chart" . }}
 {{- end -}}
 
-{{- define "app.imagePullSecret" }}
-{{- with .Values.imageCredentials }}
-{{- printf "{\"auths\":{\"%s\":{\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}}}" .registry .username .password .email (printf "%s:%s" .username .password | b64enc) | b64enc }}
-{{- end }}
-{{- end }}
-
 {{- define "app.envSpringProfiles" }}
 {{- if (.Values.env).overrideSpringProfiles -}}
 {{ printf "%s" (.Values.env).overrideSpringProfiles }}
diff --git a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml
index 2d91bf4309a5aab3ecf9c5e69dbbf58149e0e667..1159ff69ea4971ed41c08d8ba5d36090550ffa5e 100644
--- a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml
+++ b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml
@@ -163,11 +163,7 @@ spec:
             - name: temp-dir
               emptyDir: {}
           imagePullSecrets:
-            {{- if .Values.imagePullSecret }}
-            - name: {{ .Values.imagePullSecret }}
-            {{ else }}
-            - name: {{ .Release.Name }}-image-pull-secret
-            {{- end }}
+            - name: {{ required "imagePullSecret must be set" .Values.imagePullSecret }}
           {{- with .Values.podSecurityContext }}
           securityContext:
 {{ toYaml . | indent 12 }}
diff --git a/xta-adapter/src/test/helm-linter-values.yaml b/xta-adapter/src/test/helm-linter-values.yaml
index 61f9442209016b78e715a783e0e1f7aa14691a2d..2c2f51b5dbcf44d63e52ffe673d77261e6318d14 100644
--- a/xta-adapter/src/test/helm-linter-values.yaml
+++ b/xta-adapter/src/test/helm-linter-values.yaml
@@ -29,4 +29,5 @@ ozgcloud:
 
 
 networkPolicy:
-  dnsServerNamespace: test-dns-server-namespace
\ No newline at end of file
+  dnsServerNamespace: test-dns-server-namespace
+imagePullSecret: image-pull-secret
\ No newline at end of file
diff --git a/xta-adapter/src/test/helm/image_pull_secret_test.yaml b/xta-adapter/src/test/helm/image_pull_secret_test.yaml
deleted file mode 100644
index 1db60649f5340ec1071f476f0cefb7e8c9344f07..0000000000000000000000000000000000000000
--- a/xta-adapter/src/test/helm/image_pull_secret_test.yaml
+++ /dev/null
@@ -1,59 +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 image pull secret
-templates:
-  - templates/image-pull-secret.yaml
-release:
-  name: xta-adapter
-  namespace: helm-test
-tests:
-  - it: should match basic data
-    set:
-      imageCredentials:
-        registry: docker.ozg-sh.de
-        username: test
-        password: test1234
-        email: webmaster@ozg-sh.de
-    asserts:
-      - hasDocuments:
-          count: 1
-      - containsDocument:
-          kind: Secret
-          apiVersion: v1
-      - equal:
-          path: metadata.name
-          value: xta-adapter-image-pull-secret
-      - equal:
-          path: metadata.namespace
-          value: helm-test
-      - isNotEmpty:
-          path: data[".dockerconfigjson"]
-
-  - it: should not create image pull secret
-    set:
-      imagePullSecret: "image-pull-secret"
-    asserts:
-      - hasDocuments:
-          count: 0
\ No newline at end of file
diff --git a/xta-adapter/src/test/helm/service_account_test.yaml b/xta-adapter/src/test/helm/service_account_test.yaml
index e69fb10ec60f838348d3ab287f6d8eba19db67fb..1027bebb9e7062b7eff532148e3414810523f48f 100644
--- a/xta-adapter/src/test/helm/service_account_test.yaml
+++ b/xta-adapter/src/test/helm/service_account_test.yaml
@@ -36,6 +36,8 @@ tests:
     asserts:
       - isKind:
           of: ServiceAccount
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.name
           value: xta-adapter-service-account
@@ -50,6 +52,8 @@ tests:
     asserts:
       - isKind:
           of: ServiceAccount
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.name
           value: helm-service-account
diff --git a/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml b/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml
index b2a1223a8dbe928d2d0ce41ae6dd03d005e706eb..941883545d93772e6a349add7e60a8190e478629 100644
--- a/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_63_chars_test.yaml
@@ -28,6 +28,7 @@ release:
   namespace: sh-helm-test
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 chart:
   name: xta-adapter
 
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml
index b17ff7452fb6022ce9d20bdfd58b5b28b538e393..3e4e37b8fe3f8ad0fce65be7a136aa3b8219431c 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_basic_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test xta adapter cronjob
+suite: test xta adapter cronjob basics
 templates:
   - templates/xta_adapter_cronjob.yaml
 release:
@@ -30,10 +30,10 @@ release:
   namespace: helm-test
 set:
   ozgcloud.environment: dev  
+  imagePullSecret: image-pull-secret
   
 tests:
   - it: validate basic data 
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
     asserts:
@@ -56,7 +56,6 @@ tests:
           path: spec.concurrencyPolicy
           value: Forbid
   - it: check set schedule
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
       xta:
@@ -70,7 +69,6 @@ tests:
           path: spec.schedule
           value: "1 1 * * * *"
   - it: check dev schedule
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
     asserts:
@@ -78,7 +76,6 @@ tests:
           path: spec.schedule
           value: "*/15 * * * *"
   - it: check container image
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
     asserts:
@@ -87,7 +84,6 @@ tests:
         value: "docker.ozg-sh.de/xta-adapter:9.9.99"
 
   - it: check securityContext
-    template: xta_adapter_cronjob.yaml
     asserts:
     - equal:
         path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation
@@ -124,7 +120,6 @@ tests:
           path: spec.jobTemplate.spec.template.spec.containers[0].securityContext.runAsGroup
           value: 1000
   - it: check pod labels
-    template: xta_adapter_cronjob.yaml
     asserts:
     - equal:
         path: spec.jobTemplate.spec.template.metadata.labels
diff --git a/xta-adapter/src/test/helm/xta_adapter_bindings_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml
similarity index 97%
rename from xta-adapter/src/test/helm/xta_adapter_bindings_test.yaml
rename to xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml
index 959b0b824e88969cbc4012198b340d64836e5c61..9305d2d92e471ba9e0239c57313496679b2bbea6 100644
--- a/xta-adapter/src/test/helm/xta_adapter_bindings_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_bindings_test.yaml
@@ -27,6 +27,7 @@ templates:
   - templates/xta_adapter_cronjob.yaml
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: should have temp-dir volume
     asserts:
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml
index 93637305c8f873e3557b93817da786ea391e32aa..a8cd367dcfe2e8b8dfb5b434769dfdde29f86886 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_dummy_probes_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test xta adapter cronjob
+suite: test xta adapter cronjob dummy probes
 templates:
   - templates/xta_adapter_cronjob.yaml
 release:
@@ -30,39 +30,34 @@ release:
   namespace: helm-test
 set:
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: check dummy livenessProbe default disabled
-    template: xta_adapter_cronjob.yaml
     asserts:
       - notExists:
           path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe
   - it: check dummy startupProbe default disabled
-    template: xta_adapter_cronjob.yaml
     asserts:
       - notExists:
           path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe
   - it: check dummy readynessProbe default disabled
-    template: xta_adapter_cronjob.yaml
     asserts:
       - notExists:
           path: spec.jobTemplate.spec.template.spec.containers[0].readinessProbe
 
   - it: check dummy livenessProbe disabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: false
     asserts:
       - notExists:
           path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe
   - it: check dummy startupProbe disabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: false
     asserts:
       - notExists:
           path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe
   - it: check dummy readynessProbe disabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: false
     asserts:
@@ -71,21 +66,18 @@ tests:
 
 
   - it: check dummy livenessProbe enabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: true
     asserts:
       - isNotEmpty:
           path: spec.jobTemplate.spec.template.spec.containers[0].livenessProbe
   - it: check dummy startupProbe enabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: true
     asserts:
       - isNotEmpty:
           path: spec.jobTemplate.spec.template.spec.containers[0].startupProbe
   - it: check dummy readynessProbe enabled
-    template: xta_adapter_cronjob.yaml
     set:
       dummyProbesEnabled: true
     asserts:
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml
index 45eb29fa69debf6962737e66509cc2c2c807ad29..4e84137ff94e27f91f7786522f65e9ff5b52d380 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_env_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test xta adapter cronjob
+suite: test xta adapter cronjob env
 templates:
   - templates/xta_adapter_cronjob.yaml
 release:
@@ -30,9 +30,9 @@ release:
   namespace: helm-test
 set: 
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: check default env
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
       xta:
@@ -112,7 +112,6 @@ tests:
             name: grpc_client_vorgang-manager-vorgang-manager_negotiationType
             value: "PLAINTEXT"
   - it: check set env values
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
       env.overrideSpringProfiles: local
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml
index bf1fb21e365ad092aceaa9829bfcb9520e65012d..645b25738b9b4124900a5f90cd78b6cb621261e6 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_image_pull_test.yaml
@@ -32,12 +32,10 @@ set:
   ozgcloud.environment: dev
   
 tests:
-  - it: should use default imagePull secret
-    set:
+  - it: should fail when imagePull secret not set
     asserts:
-      - equal:
-          path: spec.jobTemplate.spec.template.spec.imagePullSecrets[0].name
-          value: xta-adapter-image-pull-secret
+      - failedTemplate:
+          errormessage: imagePullSecret must be set
   - it: should set the imagePull secret
     set:
       imagePullSecret: image-pull-secret
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml
index 02efe39637d3eeb149ffa8322d8f0e5d2e149f20..a2db96cbea3602e3d47035ec294b177a8dc480be 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_resources_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test xta adapter cronjob
+suite: test xta adapter cronjob resources
 templates:
   - templates/xta_adapter_cronjob.yaml
 release:
@@ -30,9 +30,9 @@ release:
   namespace: helm-test
 set: 
   ozgcloud.environment: dev
+  imagePullSecret: image-pull-secret
 tests:
   - it: check resources
-    template: xta_adapter_cronjob.yaml
     set:
       resources:
         limits:
diff --git a/xta-adapter/src/test/helm/cronjob_service_account_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml
similarity index 97%
rename from xta-adapter/src/test/helm/cronjob_service_account_test.yaml
rename to xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml
index b84278f12a2b95b750f3dbe657f66f0e54d46bbf..961dbcf209534074b292de2dd879abadef922625 100644
--- a/xta-adapter/src/test/helm/cronjob_service_account_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_service_account_test.yaml
@@ -30,6 +30,7 @@ release:
   namespace: helm-test
 set: 
   ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
 tests:
   - it: should use service account with default name
     set:
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml
index 6acac9f4f2a7376cef9ca583eb3e82ae9cec76ec..7af81adc1e39cc206f113ab1e00415b147a65f99 100644
--- a/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_volumes_test.yaml
@@ -22,7 +22,7 @@
 # unter der Lizenz sind dem Lizenztext zu entnehmen.
 #
 
-suite: test xta adapter cronjob
+suite: test xta adapter cronjob volume
 templates:
   - templates/xta_adapter_cronjob.yaml
 release:
@@ -30,9 +30,9 @@ release:
   namespace: helm-test
 set: 
   ozgcloud.environment: dev
+  imagePullSecret: image-pull-secret
 tests:
   - it: check volume mounts
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
       xta:
@@ -63,7 +63,6 @@ tests:
             subPath: file
             readOnly: true
   - it: check volumes
-    template: xta_adapter_cronjob.yaml
     set:
       image.name: xta-adapter
       xta:
diff --git a/xta-adapter/src/test/helm/xta-bindings-type-test.yaml b/xta-adapter/src/test/helm/xta_bindings_type_test.yaml
similarity index 89%
rename from xta-adapter/src/test/helm/xta-bindings-type-test.yaml
rename to xta-adapter/src/test/helm/xta_bindings_type_test.yaml
index ff4858ff0bdc6cbddfccbaa81b5b8dbf9668e3af..ad3697998319f96038442aa30f873ea9a7b343a5 100644
--- a/xta-adapter/src/test/helm/xta-bindings-type-test.yaml
+++ b/xta-adapter/src/test/helm/xta_bindings_type_test.yaml
@@ -37,6 +37,8 @@ tests:
     asserts:
       - isKind:
           of: ConfigMap
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.name
           value: xta-adapter-bindings-type
@@ -45,4 +47,10 @@ tests:
           value: helm-test
       - equal:
           path: data.type
-          value: ca-certificates
\ No newline at end of file
+          value: ca-certificates
+  - it: should not create config map by default
+    asserts:
+      - hasDocuments:
+        count: 0
+
+    
\ No newline at end of file
diff --git a/xta-adapter/src/test/helm/xta-keystore-secret-test.yaml b/xta-adapter/src/test/helm/xta_keystore_secret_test.yaml
similarity index 88%
rename from xta-adapter/src/test/helm/xta-keystore-secret-test.yaml
rename to xta-adapter/src/test/helm/xta_keystore_secret_test.yaml
index b01988387b43fc36fb45cb84ff2f4d09c5df9555..8272eb11cb25d56516716f5d86ad111c3a57ccb1 100644
--- a/xta-adapter/src/test/helm/xta-keystore-secret-test.yaml
+++ b/xta-adapter/src/test/helm/xta_keystore_secret_test.yaml
@@ -39,6 +39,11 @@ tests:
     asserts:
       - isKind:
           of: Secret
+      - isAPIVersion:
+          of: v1
+      - equal:
+          path: type
+          value: Opaque
       - equal:
           path: metadata.name
           value: xta-keystore
@@ -51,4 +56,9 @@ tests:
       - equal:
           path: data.file
           value: Z2VoZWltCg==
+
+  - it: should not create keystore by default
+    asserts:
+      - hasDocuments:
+        count: 0
       
diff --git a/xta-adapter/src/test/helm/xta-root-ca-secret-test.yaml b/xta-adapter/src/test/helm/xta_root_ca_secret_test.yaml
similarity index 88%
rename from xta-adapter/src/test/helm/xta-root-ca-secret-test.yaml
rename to xta-adapter/src/test/helm/xta_root_ca_secret_test.yaml
index c3861ba54d4cdbf807cfb5780090080d1290371e..f65bbcb9edc38e2fed6da3531eecaae8a69db205 100644
--- a/xta-adapter/src/test/helm/xta-root-ca-secret-test.yaml
+++ b/xta-adapter/src/test/helm/xta_root_ca_secret_test.yaml
@@ -37,9 +37,14 @@ tests:
     asserts:
       - isKind:
           of: Secret
+      - isAPIVersion:
+          of: v1
       - equal:
           path: metadata.name
           value: xta-root-ca
+      - equal:
+          path: type
+          value: Opaque
       - equal:
           path: metadata.namespace
           value: helm-test
@@ -47,3 +52,7 @@ tests:
           path: data["ca.crt"]
           value: Z2VoZWltCg==
       
+  - it: should not create ca secret by default
+    asserts:
+      - hasDocuments:
+        count: 0
\ No newline at end of file