From 3d87cc36cd232e9180223c20a25bf61c8e5f1cf6 Mon Sep 17 00:00:00 2001
From: OZG-Cloud Team <noreply@ozg-sh.de>
Date: Wed, 28 Aug 2024 12:47:31 +0200
Subject: [PATCH] OZG-6254 OZG-6484 pvog routing add zufi manager routing
 values

---
 src/main/helm/templates/deployment.yaml       |  7 ++
 ...deployment_routing_strategy_env_test.yaml} |  2 +-
 .../helm/deployment_routing_zufi_test.yaml    | 86 +++++++++++++++++++
 3 files changed, 94 insertions(+), 1 deletion(-)
 rename src/test/helm/{deployment_routing_strategy_env.yaml => deployment_routing_strategy_env_test.yaml} (97%)
 create mode 100644 src/test/helm/deployment_routing_zufi_test.yaml

diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml
index b3bfd90e..067388e4 100644
--- a/src/main/helm/templates/deployment.yaml
+++ b/src/main/helm/templates/deployment.yaml
@@ -83,6 +83,13 @@ spec:
         - name: grpc_client_vorgang-manager-{{ (.Values.routing).targetVorgangManagerName}}_negotiationType
           value: {{ (.Values.routing).negotiationType | default "TLS" }}
         {{- end }}
+        {{- if eq (.Values.routing).routingStrategy "ZUFI" }}
+        - name: grpc_client_zufi-manager_address
+          value: {{ required "routing.zufiManager.address must be set when routingStrategy=ZUFI" .Values.routing.zufiManager.address | quote }}
+        - name: grpc_client_zufi-manager_negotiationType
+          value: {{ required "routing.zufiManager.negotiationType must be set when routingStrategy=ZUFI" .Values.routing.zufiManager.negotiationType | quote }}
+        {{- end }}
+
         {{- with include "app.getCustomList" . }}
 {{ . | indent 8 }}
         {{- end }}
diff --git a/src/test/helm/deployment_routing_strategy_env.yaml b/src/test/helm/deployment_routing_strategy_env_test.yaml
similarity index 97%
rename from src/test/helm/deployment_routing_strategy_env.yaml
rename to src/test/helm/deployment_routing_strategy_env_test.yaml
index cd24633d..8ae56386 100644
--- a/src/test/helm/deployment_routing_strategy_env.yaml
+++ b/src/test/helm/deployment_routing_strategy_env_test.yaml
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
+# 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
diff --git a/src/test/helm/deployment_routing_zufi_test.yaml b/src/test/helm/deployment_routing_zufi_test.yaml
new file mode 100644
index 00000000..843fbb23
--- /dev/null
+++ b/src/test/helm/deployment_routing_zufi_test.yaml
@@ -0,0 +1,86 @@
+#
+# 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 zufi routing
+release:
+  name: intelliform-adapter
+  namespace: sh-helm-test
+templates:
+  - deployment.yaml
+set:
+  image.tag: latest
+  ozgcloud.environment: test
+  imagePullSecret: image-pull-secret
+tests:
+  - it: should set zufi routing values when zufi is enabled
+    set:
+      routing:
+        routingStrategy: "ZUFI"
+        zufiManager:
+          address: "127.0.0.1"
+          negotiationType: "PLAINTEXT"
+    asserts:
+      - contains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_address
+            value: "127.0.0.1"
+      - contains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_negotiationType
+            value: "PLAINTEXT"
+  
+  - it: should not set zufi routing values when zufi is disabled
+    asserts:
+      - notContains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_address
+          any: true
+      - notContains:
+          path: spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_negotiationType
+          any: true
+
+  - it: should throw error if zufi manager address is not set
+    set:
+      routing:
+        routingStrategy: "ZUFI"
+        zufiManager:
+          negotiationType: "PLAINTEXT"
+    asserts:
+      - failedTemplate:
+          errorMessage: "routing.zufiManager.address must be set when routingStrategy=ZUFI"
+
+  - it: should throw error if zufi manager negotiationType is not set
+    set:
+      routing:
+        routingStrategy: "ZUFI"
+        zufiManager:
+          address: "127.0.0.1"
+    asserts:
+      - failedTemplate:
+          errorMessage: "routing.zufiManager.negotiationType must be set when routingStrategy=ZUFI"
\ No newline at end of file
-- 
GitLab