From 10452019a29c6d2c861b3bcc30522791f0e96b91 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 28 Aug 2024 13:42:48 +0200
Subject: [PATCH] OZG-6254 OZG-6484 pvog routing add zufi manager routing
 values for xta adapter

---
 .../helm/templates/xta_adapter_cronjob.yaml   |  6 ++
 ...xta_adapter_cronjob_routing_zufi_test.yaml | 86 +++++++++++++++++++
 2 files changed, 92 insertions(+)
 create mode 100644 xta-adapter/src/test/helm/xta_adapter_cronjob_routing_zufi_test.yaml

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 25da0415e..89a7a16d2 100644
--- a/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml
+++ b/xta-adapter/src/main/helm/templates/xta_adapter_cronjob.yaml
@@ -85,6 +85,12 @@ spec:
                 - name: grpc_client_vorgang-manager-{{ (.Values.routing).targetVorgangManagerName }}_negotiationType
                   value: {{ (.Values.routing).negotiationType | default "PLAINTEXT" }}
                 {{- 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 16 }}
                 {{- end }}
diff --git a/xta-adapter/src/test/helm/xta_adapter_cronjob_routing_zufi_test.yaml b/xta-adapter/src/test/helm/xta_adapter_cronjob_routing_zufi_test.yaml
new file mode 100644
index 000000000..1d9d5f0d1
--- /dev/null
+++ b/xta-adapter/src/test/helm/xta_adapter_cronjob_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:
+  - templates/xta_adapter_cronjob.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.jobTemplate.spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_address
+            value: "127.0.0.1"
+      - contains:
+          path: spec.jobTemplate.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.jobTemplate.spec.template.spec.containers[0].env
+          content:
+            name: grpc_client_zufi-manager_address
+          any: true
+      - notContains:
+          path: spec.jobTemplate.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