From 7976b570ef210725f9a06019449eb80d795549f2 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 27 Nov 2024 16:41:48 +0100
Subject: [PATCH] OZG-7131 set fachstelle host

---
 src/main/helm/templates/_helpers.tpl          | 12 ++-
 src/main/helm/templates/deployment.yaml       |  2 +
 .../helm/deployment_fachstelle_host_test.yaml | 75 +++++++++++++++++++
 3 files changed, 88 insertions(+), 1 deletion(-)
 create mode 100644 src/test/helm/deployment_fachstelle_host_test.yaml

diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl
index 435ffac96..e1125f31d 100644
--- a/src/main/helm/templates/_helpers.tpl
+++ b/src/main/helm/templates/_helpers.tpl
@@ -125,7 +125,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 
 
 {{- define "app.bayernidAbsenderName" -}}
-{{- quote (required "ozgcloud.bayernid.absender.name must be set if ozgcloud.bayernid is enabled" (((.Values.ozgcloud).bayernid).absender).name) -}} 
+{{- quote (required "ozgcloud.bayernid.absender.name must be set if ozgcloud.bayernid is enabled" (((.Values.ozgcloud).bayernid).absender).name) -}}
 {{- end -}}
 
 {{- define "app.bayernidAbsenderMandant" -}}
@@ -164,6 +164,16 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }}
 {{- end -}}
 {{- end -}}
 
+{{- define "app.fachstelleHost" -}}
+{{- if (.Values.fachstelle).enabled -}}
+{{- if (.Values.fachstelle).host -}}
+{{ (.Values.fachstelle).host | quote }}
+{{- else -}}
+{{ printf "https://fachstelle.%s" (include "app.baseUrl" .) }}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
 {{- define "app.getZufiManagerAddress" -}}
 {{- required "zufiManager.address must be set" (.Values.zufiManager).address -}}
 {{- end -}}
\ No newline at end of file
diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index ff958feea..8d50615fb 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -267,6 +267,8 @@ spec:
 
           - name: ozgcloud_alfa_host
             value: {{ include "app.alfaHost" . }}
+          - name: ozgcloud_fachstelle_host
+            value: {{ include "app.fachstelleHost" . }}
           - name: ozgcloud_vorgangManager_serviceAddress
             value: {{ include "app.ozgcloud_vorgangmanager_address" . }}
 
diff --git a/src/test/helm/deployment_fachstelle_host_test.yaml b/src/test/helm/deployment_fachstelle_host_test.yaml
new file mode 100644
index 000000000..2c22d73b9
--- /dev/null
+++ b/src/test/helm/deployment_fachstelle_host_test.yaml
@@ -0,0 +1,75 @@
+#
+# 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 fachstelle host
+release:
+  name: vorgang-manager
+  namespace: sh-helm-test
+templates:
+  - templates/deployment.yaml
+set:
+  ozgcloud:
+    environment: dev
+    bezeichner: helm
+  imagePullSecret: test-image-pull-secret
+tests:
+  - it: should set the fachstelle host
+    set:
+      baseUrl: test.sh.ozg-cloud.de
+      fachstelle:
+        enabled: true
+    asserts:
+      - contains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: ozgcloud_fachstelle_host
+            value: https://fachstelle.test.sh.ozg-cloud.de
+
+  - it: should use fachstelle host from values
+    set:
+      baseUrl: test.sh.ozg-cloud.de
+      fachstelle:
+        enabled: true
+        host: https://hamburg.mein-kreis.de
+    asserts:
+      - contains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: ozgcloud_fachstelle_host
+            value: https://hamburg.mein-kreis.de
+  - it: should fail if base url is not set
+    set:
+      fachstelle:
+        enabled: true
+    asserts:
+      - failedTemplate:
+          errorMessage: "baseUrl must be set"
+  - it: should not fail if fachstelle is not enabled and base url is not set
+    set:
+      alfaHost: alfa.de
+    asserts:
+      - notContains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: ozgcloud_fachstelle_host
-- 
GitLab