diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl
index 3f621195330d4af82088262c265fd131e3549b36..df89c628cffdf7c780d4026787daa442f961f3a7 100644
--- a/src/main/helm/templates/_helpers.tpl
+++ b/src/main/helm/templates/_helpers.tpl
@@ -70,7 +70,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- required "baseUrl muss angegeben sein" .Values.baseUrl }}
 {{- end -}}
 
-{{- define "app.serviceAccountName" -}}
+{{- define "app.getServiceAccountName" -}}
 {{ printf "%s" ( (.Values.serviceAccount).name | default "xta-test-server-service-account" ) }}
 {{- end -}}
 
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index 1990efe8a755c1d3b7287f8ff0b28f95a837ce9a..2111b382554074f1cc09235dcad5c31e7c2d897f 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -48,7 +48,7 @@ spec:
         component: xta-test-server
     spec:
       {{- if (.Values.serviceAccount).create }}
-      serviceAccountName: {{ include "app.serviceAccountName" . }}
+      serviceAccountName: {{ include "app.getServiceAccountName" . }}
       {{- end }}
       topologySpreadConstraints:
       - maxSkew: 1
diff --git a/src/main/helm/templates/service_account.yaml b/src/main/helm/templates/service_account.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8ee2faa572924ab37142e8f6c21bb440c5cf158c
--- /dev/null
+++ b/src/main/helm/templates/service_account.yaml
@@ -0,0 +1,8 @@
+
+{{- if (.Values.serviceAccount).create }}
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: {{ include "app.getServiceAccountName" . }}
+  namespace: {{ include "app.namespace" . }}
+{{- end }}
\ No newline at end of file
diff --git a/src/test/helm/service_account_test.yaml b/src/test/helm/service_account_test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..db871fdcda337c7094df9eab2266ff928d7f1081
--- /dev/null
+++ b/src/test/helm/service_account_test.yaml
@@ -0,0 +1,40 @@
+suite: service account test
+release:
+  name: xta-test-server
+  namespace: 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: xta-test-server-service-account
+      - equal:
+          path: metadata.namespace
+          value: 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: helm-test
+  - it: should not create service account
+    asserts:
+      - hasDocuments:
+        count: 0
\ No newline at end of file