From bdb556a8f8ac8441c21f8cfa11b339b3091fb526 Mon Sep 17 00:00:00 2001
From: OZG-Cloud Team <noreply@ozg-sh.de>
Date: Tue, 19 Dec 2023 13:10:12 +0100
Subject: [PATCH] Merge branch 'master' into knecht-root-recht

---
 Jenkinsfile                                   |  2 +-
 run_helm_test.sh                              |  4 ++--
 src/main/helm/templates/network_policy.yaml   |  5 +----
 .../helm-linter-values.yaml}                  |  5 ++++-
 src/test/helm/network_policy_test.yaml        | 19 +++++++++++++++----
 src/test/unit-values.yaml                     |  2 +-
 6 files changed, 24 insertions(+), 13 deletions(-)
 rename src/{main/helm/test-values.yaml => test/helm-linter-values.yaml} (92%)

diff --git a/Jenkinsfile b/Jenkinsfile
index ec06a286..9bb110e4 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -135,7 +135,7 @@ pipeline {
                     HELM_CHART_VERSION = generateHelmChartVersion()
 
                     dir('src/main/helm') {
-                        sh "helm lint -f test-values.yaml"
+                        sh "helm lint -f ../../test/helm-linter-values.yaml"
 
                         sh "helm unittest --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' ."
 
diff --git a/run_helm_test.sh b/run_helm_test.sh
index 7324e7d1..5c2ac8a3 100755
--- a/run_helm_test.sh
+++ b/run_helm_test.sh
@@ -2,6 +2,6 @@
 
 set -e
 
-helm template  ./src/main/helm/ -f src/test/unit-values.yaml
-helm lint -f src/test/unit-values.yaml ./src/main/helm/
+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 --helm3 -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' .
\ No newline at end of file
diff --git a/src/main/helm/templates/network_policy.yaml b/src/main/helm/templates/network_policy.yaml
index 18cf7b2c..c243a2b7 100644
--- a/src/main/helm/templates/network_policy.yaml
+++ b/src/main/helm/templates/network_policy.yaml
@@ -49,10 +49,7 @@ spec:
   - to:
     - namespaceSelector:
         matchLabels:
-          kubernetes.io/metadata.name: kube-system
-      podSelector:
-        matchLabels:
-          k8s-app: kube-dns
+          kubernetes.io/metadata.name: {{ required "networkPolicy.dnsServerNamespace must be set" (.Values.networkPolicy).dnsServerNamespace }}
     ports:
       - port: 53
         protocol: UDP
diff --git a/src/main/helm/test-values.yaml b/src/test/helm-linter-values.yaml
similarity index 92%
rename from src/main/helm/test-values.yaml
rename to src/test/helm-linter-values.yaml
index e72f46c8..dc7bf7d6 100644
--- a/src/main/helm/test-values.yaml
+++ b/src/test/helm-linter-values.yaml
@@ -25,4 +25,7 @@
 ozgcloud:
   environment: test
   bezeichner: helm
-  bundesland: sh
\ No newline at end of file
+  bundesland: sh
+
+networkPolicy:
+  dnsServerNamespace: test-dns-server-namespace
\ No newline at end of file
diff --git a/src/test/helm/network_policy_test.yaml b/src/test/helm/network_policy_test.yaml
index 96c857eb..15c3a1ad 100644
--- a/src/test/helm/network_policy_test.yaml
+++ b/src/test/helm/network_policy_test.yaml
@@ -30,14 +30,23 @@ templates:
   - templates/network_policy.yaml
 tests:
   - it: should match apiVersion
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - isAPIVersion:
           of: networking.k8s.io/v1
   - it: should match kind
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - isKind:
           of: NetworkPolicy
   - it: validate metadata
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - equal:
           path: metadata
@@ -45,6 +54,9 @@ tests:
             name: network-policy-afm-adapter
             namespace: by-helm-test
   - it: validate spec
+    set:
+      networkPolicy:
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - equal:
           path: spec
@@ -69,10 +81,7 @@ tests:
             - to:
               - namespaceSelector:
                   matchLabels:
-                    kubernetes.io/metadata.name: kube-system
-                podSelector:
-                  matchLabels:
-                    k8s-app: kube-dns
+                    kubernetes.io/metadata.name: test-dns-namespace
               ports:
                 - port: 53
                   protocol: UDP
@@ -83,6 +92,7 @@ tests:
     set:
       networkPolicy:
         disabled: true
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - hasDocuments:
           count: 0
@@ -91,6 +101,7 @@ tests:
     set:
       networkPolicy:
         disabled: false
+        dnsServerNamespace: test-dns-namespace
     asserts:
       - hasDocuments:
           count: 1
\ No newline at end of file
diff --git a/src/test/unit-values.yaml b/src/test/unit-values.yaml
index 68d0ba93..4c105880 100644
--- a/src/test/unit-values.yaml
+++ b/src/test/unit-values.yaml
@@ -35,4 +35,4 @@ routing:
 image:
   repo: docker.ozg-sh.de
   name: intelliform-adapter
-  tag: latest
\ No newline at end of file
+  tag: latest
-- 
GitLab