From aaaa950f6fa15ef4798f71d2bdb5110c4df60ba2 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Thu, 11 Jan 2024 16:32:06 +0100 Subject: [PATCH] OZG-3328 use new helm unittest framework --- run_helm_test.sh | 7 +-- src/main/helm/templates/_helpers.tpl | 16 +++++-- .../helm/templates/keycloak-client-crd.yaml | 2 +- src/main/helm/templates/keycloak-crd.yaml | 2 +- .../helm/templates/keycloak-group-crd.yaml | 2 +- .../helm/templates/keycloak-user-crd.yaml | 2 +- src/main/helm/templates/network_policy.yaml | 2 +- ...d_keycloak_operator_secrets_read_role.yaml | 2 +- ...ak_operator_secrets_read_role_binding.yaml | 2 +- ..._keycloak_operator_secrets_write_role.yaml | 2 +- ...k_operator_secrets_write_role_binding.yaml | 2 +- src/main/helm/values.yaml | 5 -- ...er-values.yaml => helm-linter-values.yaml} | 7 ++- src/test/helm/deployment_bindings_test.yaml | 12 ++++- .../deployment_defaults_affinity_test.yaml | 8 ++++ .../deployment_defaults_annotaion_test.yaml | 8 +++- .../helm/deployment_defaults_env_test.yaml | 19 +++++++- .../helm/deployment_defaults_labels_test.yaml | 16 +++++-- ..._defaults_spec_containers_health_test.yaml | 8 ++++ ..._spec_containers_securityContext_test.yaml | 8 ++++ ...loyment_defaults_spec_containers_test.yaml | 11 +++++ .../helm/deployment_defaults_spec_test.yaml | 13 ++++- .../helm/deployment_defaults_sso_test.yaml | 18 +++++-- ...faults_topologySpreadConstraints_test.yaml | 10 +++- src/test/helm/deployment_env_test.yaml | 8 ++++ .../helm/deployment_host_aliases_test.yaml | 8 ++++ src/test/helm/deployment_imageTag_test.yaml | 8 ++++ .../deployment_imagepull_secret_test.yaml | 8 ++++ .../helm/deployment_pluto_address_test.yaml | 8 ++++ src/test/helm/deployment_replicas_test.yaml | 8 ++++ src/test/helm/deployment_resources_test.yaml | 8 ++++ .../helm/deployment_service_account_test.yaml | 8 ++++ .../helm/deployment_springProfile_test.yaml | 8 ++++ .../deployment_usermanager_address_test.yaml | 10 +++- src/test/helm/image_pull_secret_test.yaml | 4 +- src/test/helm/ingress-nginx-tests.yaml | 13 +++-- src/test/helm/keycloak-client-crd-test.yaml | 27 +++-------- src/test/helm/keycloak-crd-test.yaml | 4 ++ src/test/helm/keycloak-user-crd-test.yaml | 2 +- src/test/helm/network_policy_test.yaml | 11 ++++- src/test/helm/service_monitor_test.yaml | 8 ++-- src/test/helm/service_test.yaml | 16 +++---- src/test/unit-values.yaml | 48 ------------------- 43 files changed, 274 insertions(+), 125 deletions(-) rename src/test/{linter-values.yaml => helm-linter-values.yaml} (90%) delete mode 100644 src/test/unit-values.yaml diff --git a/run_helm_test.sh b/run_helm_test.sh index 28f3552a66..4395f39425 100755 --- a/run_helm_test.sh +++ b/run_helm_test.sh @@ -1,7 +1,8 @@ #!/bin/sh set -e +set -x -helm template ./src/main/helm/ -f src/test/linter-values.yaml -helm lint -f src/test/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 +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 -f '../../test/helm/*.yaml' . \ No newline at end of file diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl index de78b3fcf2..5a010852ea 100644 --- a/src/main/helm/templates/_helpers.tpl +++ b/src/main/helm/templates/_helpers.tpl @@ -58,11 +58,15 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{ printf "%s.%s:9000" ( coalesce .Values.usermanagerName "user-manager" ) .Release.Namespace }} {{- end -}} +{{- define "app.baseUrlDirect" -}} +{{- required "baseUrl muss angegeben sein" .Values.baseUrl }} +{{- end -}} + {{- define "app.ozgcloud_user-manager_url" -}} {{- if (.Values).usermanagerUrl -}} {{ printf "%s" (.Values).usermanagerUrl }} {{- else -}} -{{ printf "https://%s-%s.%s" (include "app.ozgcloudBezeichner" .) .Values.usermanagerName .Values.baseUrl }} +{{ printf "https://%s-%s.%s" (include "app.ozgcloudBezeichner" .) .Values.usermanagerName (include "app.baseUrlDirect" .) }} {{- end -}} {{- end -}} @@ -77,11 +81,15 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- end -}} {{- define "app.ozgcloudBezeichner" -}} +{{- if (.Values.ozgcloud).bezeichner -}} {{ $length := len (.Values.ozgcloud).bezeichner }} -{{- if ge 27 $length -}} +{{- if lt 27 $length -}} +{{ required (printf "Bezeichner %s ist zu lang (max. 27 Zeichen)" (.Values.ozgcloud).bezeichner) nil }} +{{- else -}} {{- required "Bezeichner muss angegeben sein" (.Values.ozgcloud).bezeichner -}} +{{- end -}} {{- else -}} -{{ required (printf "Bezeichner %s ist zu lang (max. 27 Zeichen)" (.Values.ozgcloud).bezeichner) nil }} +{{- required "Bezeichner muss angegeben sein" (.Values.ozgcloud).bezeichner -}} {{- end -}} {{- end -}} @@ -112,7 +120,7 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- end -}} {{- define "app.ssoServerUrl" -}} -{{- printf "%s" .Values.sso.serverUrl -}} +{{- required "sso.serverUrl muss angegeben sein" (.Values.sso).serverUrl -}} {{- end -}} {{- define "app.baseUrl" -}} diff --git a/src/main/helm/templates/keycloak-client-crd.yaml b/src/main/helm/templates/keycloak-client-crd.yaml index fbcd6e5e36..2a2b9b48e7 100644 --- a/src/main/helm/templates/keycloak-client-crd.yaml +++ b/src/main/helm/templates/keycloak-client-crd.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator -}} -{{ range $client := .Values.sso.keycloak_clients }} +{{ range $client := (.Values.sso).keycloak_clients }} --- {{- if $client.kopOperator }} apiVersion: api.kop-stack.de/v1 diff --git a/src/main/helm/templates/keycloak-crd.yaml b/src/main/helm/templates/keycloak-crd.yaml index 71f21d0ee0..d1e686a4a9 100644 --- a/src/main/helm/templates/keycloak-crd.yaml +++ b/src/main/helm/templates/keycloak-crd.yaml @@ -5,6 +5,6 @@ metadata: name: {{ include "app.namespace" . }}-keycloak namespace: {{ include "app.namespace" . }} spec: - keep_after_delete: {{ .Values.sso.keep_after_delete | default false }} + keep_after_delete: {{ (.Values.sso).keep_after_delete | default false }} displayName: {{ include "app.ssoRealmDisplayName" . }} {{- end -}} \ No newline at end of file diff --git a/src/main/helm/templates/keycloak-group-crd.yaml b/src/main/helm/templates/keycloak-group-crd.yaml index ce871eebb7..63900fb382 100644 --- a/src/main/helm/templates/keycloak-group-crd.yaml +++ b/src/main/helm/templates/keycloak-group-crd.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator -}} -{{ range $group := .Values.sso.keycloak_groups }} +{{ range $group := (.Values.sso).keycloak_groups }} --- apiVersion: operator.ozgcloud.de/v1 kind: OzgCloudKeycloakGroup diff --git a/src/main/helm/templates/keycloak-user-crd.yaml b/src/main/helm/templates/keycloak-user-crd.yaml index fd766a7174..3bc5c7ab01 100644 --- a/src/main/helm/templates/keycloak-user-crd.yaml +++ b/src/main/helm/templates/keycloak-user-crd.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator -}} -{{ range $user := concat (.Values.sso.api_users | default list) (.Values.sso.keycloak_users | default list) }} +{{ range $user := concat ((.Values.sso).api_users | default list) ((.Values.sso).keycloak_users | default list) }} --- {{- if $user.kopOperator }} apiVersion: api.kop-stack.de/v1 diff --git a/src/main/helm/templates/network_policy.yaml b/src/main/helm/templates/network_policy.yaml index 899c5330fa..e5dc19013b 100644 --- a/src/main/helm/templates/network_policy.yaml +++ b/src/main/helm/templates/network_policy.yaml @@ -29,7 +29,7 @@ spec: # public keycloak ip - to: - ipBlock: - cidr: {{ required "Keycloak public IP must be set" (.Values.networkPolicy).ssoPublicIp }} + cidr: {{ required "networkPolicy.ssoPublicIp must be set" (.Values.networkPolicy).ssoPublicIp }} - to: - namespaceSelector: matchLabels: diff --git a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role.yaml b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role.yaml index f03b806e1f..7ab36585e0 100644 --- a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role.yaml +++ b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator }} -{{- if or (.Values.sso.keycloak_users) (.Values.sso.api_users) }} +{{- if or ((.Values.sso).keycloak_users) ((.Values.sso).api_users) }} apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: diff --git a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role_binding.yaml b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role_binding.yaml index 832fd464fd..4a500addcb 100644 --- a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role_binding.yaml +++ b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_read_role_binding.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator }} -{{- if or (.Values.sso.keycloak_users) (.Values.sso.api_users) }} +{{- if or ((.Values.sso).keycloak_users) ((.Values.sso).api_users) }} apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role.yaml b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role.yaml index 58a135db88..db46b42cc3 100644 --- a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role.yaml +++ b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator }} -{{- if or (.Values.sso.keycloak_users) (.Values.sso.api_users) }} +{{- if or ((.Values.sso).keycloak_users) ((.Values.sso).api_users) }} apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: diff --git a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role_binding.yaml b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role_binding.yaml index 8f8fecc682..a2fbdd01f0 100644 --- a/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role_binding.yaml +++ b/src/main/helm/templates/ozgcloud_keycloak_operator_secrets_write_role_binding.yaml @@ -1,5 +1,5 @@ {{- if not (.Values.sso).disableOzgOperator }} -{{- if or (.Values.sso.keycloak_users) (.Values.sso.api_users) }} +{{- if or ((.Values.sso).keycloak_users) ((.Values.sso).api_users) }} apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: diff --git a/src/main/helm/values.yaml b/src/main/helm/values.yaml index df1548effd..186bcf8b33 100644 --- a/src/main/helm/values.yaml +++ b/src/main/helm/values.yaml @@ -24,11 +24,6 @@ cluster_env: "" -baseUrl: dev.by.ozg-cloud.de - -sso: - serverUrl: https://sso.dev.by.ozg-cloud.de - image: repo: docker.ozg-sh.de diff --git a/src/test/linter-values.yaml b/src/test/helm-linter-values.yaml similarity index 90% rename from src/test/linter-values.yaml rename to src/test/helm-linter-values.yaml index 0c6bd2d5b0..cba36bc480 100644 --- a/src/test/linter-values.yaml +++ b/src/test/helm-linter-values.yaml @@ -22,6 +22,8 @@ # unter der Lizenz sind dem Lizenztext zu entnehmen. # +baseUrl: test.company.local + ozgcloud: bundesland: sh bezeichner: helm @@ -29,4 +31,7 @@ ozgcloud: networkPolicy: ssoPublicIp: 51.89.117.53/32 - dnsServerNamespace: dummy-dns \ No newline at end of file + dnsServerNamespace: dummy-dns + +sso: + serverUrl: https://sso.company.local \ No newline at end of file diff --git a/src/test/helm/deployment_bindings_test.yaml b/src/test/helm/deployment_bindings_test.yaml index e1f8d9eccc..b92eab55ef 100644 --- a/src/test/helm/deployment_bindings_test.yaml +++ b/src/test/helm/deployment_bindings_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local + baseUrl: test.company.local tests: - it: should have volumes set: @@ -87,7 +95,9 @@ tests: - it: should have sso tls cert mount set: usermanagerName: user-manager - sso.tlsCertName: sso-tls-cert + sso: + tlsCertName: sso-tls-cert + serverUrl: https://sso.company.local asserts: - contains: path: spec.template.spec.volumes diff --git a/src/test/helm/deployment_defaults_affinity_test.yaml b/src/test/helm/deployment_defaults_affinity_test.yaml index 54c1a8f89d..66ff5b228b 100644 --- a/src/test/helm/deployment_defaults_affinity_test.yaml +++ b/src/test/helm/deployment_defaults_affinity_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local + baseUrl: test.company.local tests: - it: should work asserts: diff --git a/src/test/helm/deployment_defaults_annotaion_test.yaml b/src/test/helm/deployment_defaults_annotaion_test.yaml index 311f2d9b66..3ccc5a5f7d 100644 --- a/src/test/helm/deployment_defaults_annotaion_test.yaml +++ b/src/test/helm/deployment_defaults_annotaion_test.yaml @@ -28,13 +28,19 @@ release: namespace: sh-helm-test templates: - templates/ingress.yaml +set: + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + tests: - it: check ingress annotaions for nginx asserts: - isKind: of: Ingress - equal: - path: metadata.annotations.[cert-manager.io/cluster-issuer] + path: metadata.annotations["cert-manager.io/cluster-issuer"] value: letsencrypt-prod - isNull: path: spec.ingressClassName diff --git a/src/test/helm/deployment_defaults_env_test.yaml b/src/test/helm/deployment_defaults_env_test.yaml index 382b573901..5e9eb166a3 100644 --- a/src/test/helm/deployment_defaults_env_test.yaml +++ b/src/test/helm/deployment_defaults_env_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check default values set: @@ -65,7 +73,13 @@ tests: templates: - templates/deployment.yaml set: - ozgcloud.user_assistance.documentation.url: http:// + ozgcloud: + user_assistance: + documentation: + url: http:// + environment: test + bundesland: sh + bezeichner: helm asserts: - contains: path: spec.template.spec.containers[0].env @@ -78,6 +92,9 @@ tests: - templates/deployment.yaml set: ozgcloud: + environment: test + bundesland: sh + bezeichner: helm vorgang: bescheid: - formEngineName: AFM diff --git a/src/test/helm/deployment_defaults_labels_test.yaml b/src/test/helm/deployment_defaults_labels_test.yaml index 4cef56cb17..635f86e602 100644 --- a/src/test/helm/deployment_defaults_labels_test.yaml +++ b/src/test/helm/deployment_defaults_labels_test.yaml @@ -30,18 +30,26 @@ templates: - templates/deployment.yaml - templates/service_monitor.yaml - templates/service.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check default labels asserts: - equal: - path: metadata.labels.[app.kubernetes.io/instance] + path: metadata.labels["app.kubernetes.io/instance"] value: alfa - equal: - path: metadata.labels.[app.kubernetes.io/name] + path: metadata.labels["app.kubernetes.io/name"] value: alfa - equal: - path: metadata.labels.[app.kubernetes.io/part-of] + path: metadata.labels["app.kubernetes.io/part-of"] value: ozgcloud - equal: - path: metadata.labels.[app.kubernetes.io/namespace] + path: metadata.labels["app.kubernetes.io/namespace"] value: sh-helm-test diff --git a/src/test/helm/deployment_defaults_spec_containers_health_test.yaml b/src/test/helm/deployment_defaults_spec_containers_health_test.yaml index 94ba8b1e75..b159900bff 100644 --- a/src/test/helm/deployment_defaults_spec_containers_health_test.yaml +++ b/src/test/helm/deployment_defaults_spec_containers_health_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should work asserts: diff --git a/src/test/helm/deployment_defaults_spec_containers_securityContext_test.yaml b/src/test/helm/deployment_defaults_spec_containers_securityContext_test.yaml index 16f0109ff5..ace851c715 100644 --- a/src/test/helm/deployment_defaults_spec_containers_securityContext_test.yaml +++ b/src/test/helm/deployment_defaults_spec_containers_securityContext_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check default values asserts: diff --git a/src/test/helm/deployment_defaults_spec_containers_test.yaml b/src/test/helm/deployment_defaults_spec_containers_test.yaml index 2fc8310882..9c62d0707f 100644 --- a/src/test/helm/deployment_defaults_spec_containers_test.yaml +++ b/src/test/helm/deployment_defaults_spec_containers_test.yaml @@ -28,6 +28,17 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local + image: + path: docker.ozg-sh.de/alfa + tag: snapshot-latest tests: - it: check for some standard values asserts: diff --git a/src/test/helm/deployment_defaults_spec_test.yaml b/src/test/helm/deployment_defaults_spec_test.yaml index bda0c0df14..96b6b4d8d4 100644 --- a/src/test/helm/deployment_defaults_spec_test.yaml +++ b/src/test/helm/deployment_defaults_spec_test.yaml @@ -28,6 +28,15 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + replicaCount: 5 + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should work asserts: @@ -43,10 +52,10 @@ tests: path: spec.revisionHistoryLimit value: 10 - equal: - path: spec.selector.matchLabels.[app.kubernetes.io/name] + path: spec.selector.matchLabels["app.kubernetes.io/name"] value: alfa - equal: - path: spec.selector.matchLabels.[app.kubernetes.io/namespace] + path: spec.selector.matchLabels["app.kubernetes.io/namespace"] value: sh-helm-test - equal: path: spec.strategy.rollingUpdate.maxSurge diff --git a/src/test/helm/deployment_defaults_sso_test.yaml b/src/test/helm/deployment_defaults_sso_test.yaml index 9c4c14df0e..9577a9a015 100644 --- a/src/test/helm/deployment_defaults_sso_test.yaml +++ b/src/test/helm/deployment_defaults_sso_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check default values asserts: @@ -47,11 +55,14 @@ tests: path: spec.template.spec.containers[0].env content: name: keycloak_auth-server-url - value: https://sso.sh.ozg-cloud.de + value: https://sso.company.local - it: check realm with long namespace set: - ozgcloud.bezeichner: eins-zwei-drei + ozgcloud: + bezeichner: eins-zwei-drei + environment: dev + bundesland: sh asserts: - isKind: of: Deployment @@ -59,12 +70,13 @@ tests: path: spec.template.spec.containers[0].env content: name: keycloak_realm - value: sh-eins-zwei-drei-test + value: sh-eins-zwei-drei-dev - it: check different client name set: sso: client_name: different-client + serverUrl: https://sso.company.local asserts: - isKind: of: Deployment diff --git a/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml b/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml index bd7726196a..3dadf673fe 100644 --- a/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml +++ b/src/test/helm/deployment_defaults_topologySpreadConstraints_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check default values asserts: @@ -43,5 +51,5 @@ tests: path: spec.template.spec.topologySpreadConstraints[0].whenUnsatisfiable value: ScheduleAnyway - equal: - path: spec.template.spec.topologySpreadConstraints[0].labelSelector.matchLabels.[app.kubernetes.io/name] + path: spec.template.spec.topologySpreadConstraints[0].labelSelector.matchLabels["app.kubernetes.io/name"] value: alfa \ No newline at end of file diff --git a/src/test/helm/deployment_env_test.yaml b/src/test/helm/deployment_env_test.yaml index 082d6b64ca..4846e3c79c 100644 --- a/src/test/helm/deployment_env_test.yaml +++ b/src/test/helm/deployment_env_test.yaml @@ -25,6 +25,14 @@ suite: test environments templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: check customList template: deployment.yaml diff --git a/src/test/helm/deployment_host_aliases_test.yaml b/src/test/helm/deployment_host_aliases_test.yaml index 517408b4e2..68dd217554 100644 --- a/src/test/helm/deployment_host_aliases_test.yaml +++ b/src/test/helm/deployment_host_aliases_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should not set hostAliases asserts: diff --git a/src/test/helm/deployment_imageTag_test.yaml b/src/test/helm/deployment_imageTag_test.yaml index 50a7ad7f6a..24eb6cd05e 100644 --- a/src/test/helm/deployment_imageTag_test.yaml +++ b/src/test/helm/deployment_imageTag_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should set the latest imageTag set: diff --git a/src/test/helm/deployment_imagepull_secret_test.yaml b/src/test/helm/deployment_imagepull_secret_test.yaml index 6e94263954..376a207a28 100644 --- a/src/test/helm/deployment_imagepull_secret_test.yaml +++ b/src/test/helm/deployment_imagepull_secret_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should use default imagePull secret asserts: diff --git a/src/test/helm/deployment_pluto_address_test.yaml b/src/test/helm/deployment_pluto_address_test.yaml index 38eb0f989f..f29d2a1019 100644 --- a/src/test/helm/deployment_pluto_address_test.yaml +++ b/src/test/helm/deployment_pluto_address_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should set the vorgang-manager name set: diff --git a/src/test/helm/deployment_replicas_test.yaml b/src/test/helm/deployment_replicas_test.yaml index 84c496ab99..a02796b0fe 100644 --- a/src/test/helm/deployment_replicas_test.yaml +++ b/src/test/helm/deployment_replicas_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should set the replica count set: diff --git a/src/test/helm/deployment_resources_test.yaml b/src/test/helm/deployment_resources_test.yaml index f47aed0e61..9ef0c9aa2b 100644 --- a/src/test/helm/deployment_resources_test.yaml +++ b/src/test/helm/deployment_resources_test.yaml @@ -27,6 +27,14 @@ release: name: alfa templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: test resources set: diff --git a/src/test/helm/deployment_service_account_test.yaml b/src/test/helm/deployment_service_account_test.yaml index 2a6a0afc9b..934ef504d2 100644 --- a/src/test/helm/deployment_service_account_test.yaml +++ b/src/test/helm/deployment_service_account_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should use service account with default name set: diff --git a/src/test/helm/deployment_springProfile_test.yaml b/src/test/helm/deployment_springProfile_test.yaml index 4e0548977f..511917490f 100644 --- a/src/test/helm/deployment_springProfile_test.yaml +++ b/src/test/helm/deployment_springProfile_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should override the spring profiles set: diff --git a/src/test/helm/deployment_usermanager_address_test.yaml b/src/test/helm/deployment_usermanager_address_test.yaml index a1b0246dec..59bc6ef7de 100644 --- a/src/test/helm/deployment_usermanager_address_test.yaml +++ b/src/test/helm/deployment_usermanager_address_test.yaml @@ -28,6 +28,14 @@ release: namespace: sh-helm-test templates: - templates/deployment.yaml +set: + baseUrl: test.company.local + ozgcloud: + environment: test + bundesland: sh + bezeichner: helm + sso: + serverUrl: https://sso.company.local tests: - it: should build the usermanager url for test environment set: @@ -37,7 +45,7 @@ tests: path: spec.template.spec.containers[0].env content: name: ozgcloud_user-manager_url - value: https://helm-my-test-usermanager-name.test.sh.ozg-cloud.de + value: https://helm-my-test-usermanager-name.test.company.local - it: should use usermanager url from values set: usermanagerUrl: http://test.domain.local diff --git a/src/test/helm/image_pull_secret_test.yaml b/src/test/helm/image_pull_secret_test.yaml index 6ea26d0703..170ae93b98 100644 --- a/src/test/helm/image_pull_secret_test.yaml +++ b/src/test/helm/image_pull_secret_test.yaml @@ -48,8 +48,8 @@ tests: - equal: path: metadata.namespace value: helm-test - - isNotEmpty: - path: data.[.dockerconfigjson] + - isNotNullOrEmpty: + path: data[".dockerconfigjson"] - it: should not create image pull secret set: diff --git a/src/test/helm/ingress-nginx-tests.yaml b/src/test/helm/ingress-nginx-tests.yaml index 6d092d18ef..6b0d88bfaa 100644 --- a/src/test/helm/ingress-nginx-tests.yaml +++ b/src/test/helm/ingress-nginx-tests.yaml @@ -28,6 +28,11 @@ release: namespace: sh-helm-test templates: - templates/ingress.yaml +set: + ozgcloud: + bundesland: by + bezeichner: helm + environment: test tests: - it: should create ingress tls asserts: @@ -47,7 +52,7 @@ tests: - it: should use default letsencrypt-prod cluster-issuer asserts: - equal: - path: metadata.annotations.[cert-manager.io/cluster-issuer] + path: metadata.annotations["cert-manager.io/cluster-issuer"] value: letsencrypt-prod - it: should use letsencrypt-staging cluster-issuer @@ -55,7 +60,7 @@ tests: ingress.use_staging_cert: true asserts: - equal: - path: metadata.annotations.[cert-manager.io/cluster-issuer] + path: metadata.annotations["cert-manager.io/cluster-issuer"] value: letsencrypt-staging - it: should use letsencrypt-prod cluster-issuer @@ -63,12 +68,12 @@ tests: ingress.use_staging_cert: false asserts: - equal: - path: metadata.annotations.[cert-manager.io/cluster-issuer] + path: metadata.annotations["cert-manager.io/cluster-issuer"] value: letsencrypt-prod - it: should set proxy body size to 42m asserts: - equal: - path: metadata.annotations.[nginx.ingress.kubernetes.io/proxy-body-size] + path: metadata.annotations["nginx.ingress.kubernetes.io/proxy-body-size"] value: 42m - it: should not set ingressClassName asserts: diff --git a/src/test/helm/keycloak-client-crd-test.yaml b/src/test/helm/keycloak-client-crd-test.yaml index 4902829d97..5b9300d1b6 100644 --- a/src/test/helm/keycloak-client-crd-test.yaml +++ b/src/test/helm/keycloak-client-crd-test.yaml @@ -28,6 +28,11 @@ release: namespace: by-helm-test templates: - templates/keycloak-client-crd.yaml +set: + ozgcloud: + bundesland: by + bezeichner: helm + environment: test tests: - it: should contain header data set: @@ -70,15 +75,11 @@ tests: kopOperator: true asserts: - equal: - path: metadata.annotations.[helm.sh/resource-policy] + path: metadata.annotations["helm.sh/resource-policy"] value: keep - it: should have default Values set: baseUrl: test.by.ozg-cloud.de - ozgcloud: - bundesland: by - bezeichner: helm - environment: test sso: keycloak_clients: - client_name: alfa @@ -105,10 +106,6 @@ tests: - it: should override default redirect uris set: baseUrl: test.by.ozg-cloud.de - ozgcloud: - bundesland: by - bezeichner: helm - environment: test sso: keycloak_clients: - client_name: alfa @@ -137,10 +134,6 @@ tests: - it: should contain additional redirect uris set: baseUrl: test.by.ozg-cloud.de - ozgcloud: - bundesland: by - bezeichner: helm - environment: test sso: keycloak_clients: - client_name: alfa @@ -169,10 +162,6 @@ tests: - it: should contain client roles set: baseUrl: test.by.ozg-cloud.de - ozgcloud: - bundesland: by - bezeichner: helm - environment: test sso: keycloak_clients: - client_name: alfa @@ -202,10 +191,6 @@ tests: - it: should map client protocol mapper set: baseUrl: test.by.ozg-cloud.de - ozgcloud: - bundesland: by - bezeichner: helm - environment: test sso: keycloak_clients: - client_name: alfa diff --git a/src/test/helm/keycloak-crd-test.yaml b/src/test/helm/keycloak-crd-test.yaml index 0c0e17061d..8010a45e07 100644 --- a/src/test/helm/keycloak-crd-test.yaml +++ b/src/test/helm/keycloak-crd-test.yaml @@ -28,6 +28,10 @@ release: namespace: by-helm-test templates: - templates/keycloak-crd.yaml +set: + ozgcloud: + environment: test + bezeichner: helm tests: - it: should contain header data asserts: diff --git a/src/test/helm/keycloak-user-crd-test.yaml b/src/test/helm/keycloak-user-crd-test.yaml index 6749e412ec..0685f872b3 100644 --- a/src/test/helm/keycloak-user-crd-test.yaml +++ b/src/test/helm/keycloak-user-crd-test.yaml @@ -552,7 +552,7 @@ tests: path: spec.keycloak_user.username value: kop - equal: - path: metadata.annotations.[helm.sh/resource-policy] + path: metadata.annotations["helm.sh/resource-policy"] value: keep - it: should not create user cr if ozg operator is disabled diff --git a/src/test/helm/network_policy_test.yaml b/src/test/helm/network_policy_test.yaml index 9bf96f7895..48ff2afe0c 100644 --- a/src/test/helm/network_policy_test.yaml +++ b/src/test/helm/network_policy_test.yaml @@ -28,6 +28,10 @@ release: namespace: by-helm-test templates: - templates/network_policy.yaml +set: + networkPolicy: + dnsServerNamespace: kube-system + ssoPublicIp: 1.1.1.1/32 tests: - it: should match apiVersion asserts: @@ -48,6 +52,7 @@ tests: set: networkPolicy: dnsServerNamespace: kube-system + ssoPublicIp: 1.1.1.1/32 asserts: - equal: path: spec @@ -72,7 +77,7 @@ tests: # public keycloak ip - to: - ipBlock: - cidr: 51.89.117.53/32 + cidr: 1.1.1.1/32 - to: - namespaceSelector: matchLabels: @@ -89,6 +94,8 @@ tests: - it: add ingress rule by values set: networkPolicy: + ssoPublicIp: 1.1.1.1 + dnsServerNamespace: kube-system additionalIngressConfig: - podSelector: matchLabels: @@ -115,7 +122,9 @@ tests: - it: test network policy unset should be disabled set: networkPolicy: + ssoPublicIp: 1.1.1.1 disabled: false + dnsServerNamespace: test-dns-server-namespace asserts: - hasDocuments: count: 1 diff --git a/src/test/helm/service_monitor_test.yaml b/src/test/helm/service_monitor_test.yaml index fcfb12b4b4..d5dd89a475 100644 --- a/src/test/helm/service_monitor_test.yaml +++ b/src/test/helm/service_monitor_test.yaml @@ -34,7 +34,7 @@ tests: - isKind: of: ServiceMonitor - equal: - path: metadata.labels.[component] + path: metadata.labels["component"] value: alfa-service-monitor - it: should have the metrics endpoint configured by default set: @@ -64,13 +64,13 @@ tests: - it: selector should contain the component label with the value alfa-service asserts: - equal: - path: spec.selector.matchLabels.[component] + path: spec.selector.matchLabels["component"] value: alfa-service - it: selector should contain helm recommended labels name and namespace asserts: - equal: - path: spec.selector.matchLabels.[app.kubernetes.io/name] + path: spec.selector.matchLabels["app.kubernetes.io/name"] value: alfa - equal: - path: spec.selector.matchLabels.[app.kubernetes.io/namespace] + path: spec.selector.matchLabels["app.kubernetes.io/namespace"] value: sh-helm-test diff --git a/src/test/helm/service_test.yaml b/src/test/helm/service_test.yaml index 5c32bce0f5..8baec4baff 100644 --- a/src/test/helm/service_test.yaml +++ b/src/test/helm/service_test.yaml @@ -34,7 +34,7 @@ tests: - isKind: of: Service - equal: - path: metadata.labels.[component] + path: metadata.labels["component"] value: alfa-service - it: should be of type ClusterIP asserts: @@ -50,8 +50,8 @@ tests: port: 8080 protocol: TCP targetPort: 8080 - count: 1 - any: true + count: 1 + any: true - it: ports should contain the metrics port asserts: - contains: @@ -60,19 +60,19 @@ tests: name: metrics port: 8081 protocol: TCP - count: 1 - any: true + count: 1 + any: true - it: selector should contain the component label with the value alfa asserts: - equal: - path: spec.selector.[component] + path: spec.selector["component"] value: alfa - it: selector should contain helm recommended labels name and namespace asserts: - equal: - path: spec.selector.[app.kubernetes.io/name] + path: spec.selector["app.kubernetes.io/name"] value: alfa - equal: - path: spec.selector.[app.kubernetes.io/namespace] + path: spec.selector["app.kubernetes.io/namespace"] value: helm-test \ No newline at end of file diff --git a/src/test/unit-values.yaml b/src/test/unit-values.yaml deleted file mode 100644 index 1e11128f1c..0000000000 --- a/src/test/unit-values.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# -# Copyright (C) 2022 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. -# - -cluster_env: "" - -replicaCount: 5 -vorgangManagerName: vorgang-manager -usermanagerName: my-test-usermanager-name - -ozgcloud: - bundesland: sh - bezeichner: helm - environment: test - -sso: - apiPassword: test1234 - serverUrl: https://sso.sh.ozg-cloud.de - -baseUrl: test.sh.ozg-cloud.de - -image: - path: docker.ozg-sh.de/alfa - tag: snapshot-latest - -networkPolicy: - ssoPublicIp: 51.89.117.53/32 - dnsServerNamespace: dummy-dns \ No newline at end of file -- GitLab