Skip to content
Snippets Groups Projects
Commit 56e3ce1b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-3328 cleanup helm unittests and add tests to cover each line

parent f99c5f45
Branches
Tags
No related merge requests found
Showing
with 352 additions and 71 deletions
......@@ -33,8 +33,6 @@ set:
tests:
- it: check default values
asserts:
- isKind:
of: Deployment
- equal:
path: spec.template.spec.containers[0].securityContext.allowPrivilegeEscalation
value: false
......
......@@ -28,22 +28,21 @@ release:
namespace: sh-helm-test
templates:
- templates/deployment.yaml
- templates/service_monitor.yaml
- templates/service.yaml
set:
ozgcloud.environment: test
tests:
- it: check default labels
asserts:
- equal:
path: metadata.labels["app.kubernetes.io/instance"]
value: afm-adapter
- equal:
path: metadata.labels["app.kubernetes.io/name"]
value: intelliform-adapter
- equal:
path: metadata.labels["app.kubernetes.io/part-of"]
value: ozgcloud
- equal:
path: metadata.labels["app.kubernetes.io/namespace"]
value: sh-helm-test
path: metadata.labels
value:
app.kubernetes.io/instance: afm-adapter
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: intelliform-adapter
app.kubernetes.io/namespace: sh-helm-test
app.kubernetes.io/part-of: ozgcloud
app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
helm.sh/chart: Intelliform-Adapter-0.0.0-MANAGED-BY-JENKINS
ozg-component: eingangsadapter
#
# 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.
#
suite: test deployment
release:
name: eingang-manager
namespace: sh-helm-test
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: should work
asserts:
- equal:
path: spec.template.spec.containers[0].readinessProbe.failureThreshold
value: 3
- equal:
path: spec.template.spec.containers[0].readinessProbe.httpGet.path
value: /actuator/health/readiness
- equal:
path: spec.template.spec.containers[0].readinessProbe.httpGet.port
value: 8081
- equal:
path: spec.template.spec.containers[0].readinessProbe.httpGet.scheme
value: HTTP
- equal:
path: spec.template.spec.containers[0].readinessProbe.periodSeconds
value: 10
- equal:
path: spec.template.spec.containers[0].readinessProbe.successThreshold
value: 1
- equal:
path: spec.template.spec.containers[0].readinessProbe.timeoutSeconds
value: 3
- equal:
path: spec.template.spec.containers[0].startupProbe.failureThreshold
value: 10
- equal:
path: spec.template.spec.containers[0].startupProbe.httpGet.path
value: /actuator/health/readiness
- equal:
path: spec.template.spec.containers[0].startupProbe.httpGet.port
value: 8081
- equal:
path: spec.template.spec.containers[0].startupProbe.httpGet.scheme
value: HTTP
- equal:
path: spec.template.spec.containers[0].startupProbe.initialDelaySeconds
value: 30
- equal:
path: spec.template.spec.containers[0].startupProbe.periodSeconds
value: 5
- equal:
path: spec.template.spec.containers[0].startupProbe.successThreshold
value: 1
- equal:
path: spec.template.spec.containers[0].startupProbe.timeoutSeconds
value: 5
\ No newline at end of file
#
# 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.
#
suite: test deployment
release:
name: eingang-manager
namespace: sh-helm-test
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: check for some standard values
asserts:
- equal:
path: spec.template.spec.containers[0].image
value: docker.ozg-sh.de/intelliform-adapter:latest
- equal:
path: spec.template.spec.containers[0].imagePullPolicy
value: Always
- equal:
path: spec.template.spec.containers[0].name
value: intelliform-adapter
- equal:
path: spec.template.spec.containers[0].ports[0].containerPort
value: 8080
- equal:
path: spec.template.spec.containers[0].ports[0].name
value: 8080tcp1
- equal:
path: spec.template.spec.containers[0].ports[0].protocol
value: TCP
- equal:
path: spec.template.spec.containers[0].stdin
value: true
- equal:
path: spec.template.spec.containers[0].terminationMessagePath
value: /dev/termination-log
- equal:
path: spec.template.spec.containers[0].terminationMessagePolicy
value: File
- equal:
path: spec.template.spec.containers[0].tty
value: true
- equal:
path: spec.template.spec.containers[0].ports[1].containerPort
value: 8081
- equal:
path: spec.template.spec.containers[0].ports[1].name
value: metrics
- equal:
path: spec.template.spec.containers[0].ports[1].protocol
value: TCP
\ No newline at end of file
......@@ -22,33 +22,26 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test deployment
suite: test deployment topology
release:
name: intelliform-adapter
name: eingang-manager
namespace: sh-helm-test
templates:
- deployment.yaml
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: validate image type and container image
- it: check default values
asserts:
- isKind:
of: Deployment
- equal:
path: spec.template.spec.containers[0].image
value: docker.ozg-sh.de/intelliform-adapter:latest
- it: validate image pull secret resource name
asserts:
path: spec.template.spec.topologySpreadConstraints[0].maxSkew
value: 1
- equal:
path: spec.template.spec.imagePullSecrets[0].name
value: intelliform-adapter-image-pull-secret
path: spec.template.spec.topologySpreadConstraints[0].topologyKey
value: kubernetes.io/hostname
- equal:
path: spec.template.spec.containers[0].image
value: docker.ozg-sh.de/intelliform-adapter:latest
- it: should have label ozg-component
asserts:
path: spec.template.spec.topologySpreadConstraints[0].whenUnsatisfiable
value: DoNotSchedule
- equal:
path: metadata.labels.ozg-component
value: eingangsadapter
path: spec.template.spec.topologySpreadConstraints[0].labelSelector.matchLabels["app.kubernetes.io/name"]
value: eingang-manager
\ No newline at end of file
......@@ -22,14 +22,13 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test environments
suite: test environments customList
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: check customList
template: deployment.yaml
set:
env.customList:
- name: my_test_environment_name
......@@ -41,7 +40,6 @@ tests:
name: my_test_environment_name
value: "A test value"
- it: check customList test value is not set by default
template: deployment.yaml
asserts:
- notContains:
path: spec.template.spec.containers[0].env
......
......@@ -33,8 +33,6 @@ set:
tests:
- it: should use default imagePull secret
asserts:
- isKind:
of: Deployment
- equal:
path: spec.template.spec.imagePullSecrets[0].name
value: afm-adapter-image-pull-secret
......@@ -42,8 +40,6 @@ tests:
set:
imagePullSecret: image-pull-secret
asserts:
- isKind:
of: Deployment
- equal:
path: spec.template.spec.imagePullSecrets[0].name
value: image-pull-secret
\ No newline at end of file
......@@ -22,20 +22,18 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test deployment
suite: test deployment liveness probe
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: livenessProbe should be disabled by default
template: deployment.yaml
asserts:
- notExists:
path: spec.template.spec.containers[0].livenessProbe
- it: enable livenessProbe
template: deployment.yaml
set:
enableLivenessProbe: true
asserts:
......
#
# 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 container basics
release:
name: eingang-manager
namespace: sh-helm-test
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: should have correct pod template values
asserts:
- isEmpty:
path: spec.template.spec.dnsConfig
- equal:
path: spec.template.spec.dnsPolicy
value: "ClusterFirst"
- equal:
path: spec.template.spec.restartPolicy
value: "Always"
- equal:
path: spec.template.spec.schedulerName
value: "default-scheduler"
- equal:
path: spec.template.spec.terminationGracePeriodSeconds
value: 30
\ No newline at end of file
#
# 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.
#
suite: test ozgcloud bezeichner length
release:
name: eingang-manager
namespace: sh-helm-test
templates:
- templates/ingress.yaml
tests:
- it: should fail on bezeichner length longer than 46 characters
set:
ozgcloud:
bezeichner: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
environment: test
bundesland: by
asserts:
- failedTemplate:
errorMessage: Bezeichner test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 46 Zeichen)
\ No newline at end of file
......@@ -22,7 +22,7 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test deployment
suite: test deployment resources
release:
name: afm-adapter
templates:
......
......@@ -22,7 +22,7 @@
# unter der Lizenz sind dem Lizenztext zu entnehmen.
#
suite: test deployment
suite: test deployment routing strategy
release:
name: intelliform-adapter
namespace: sh-helm-test
......
......@@ -33,8 +33,6 @@ tests:
set:
env.overrideSpringProfiles: oc,stage,ea
asserts:
- isKind:
of: Deployment
- contains:
path: spec.template.spec.containers[0].env
content:
......@@ -44,8 +42,6 @@ tests:
set:
ozgcloud.environment: test
asserts:
- isKind:
of: Deployment
- contains:
path: spec.template.spec.containers[0].env
content:
......
#
# 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 general values
release:
name: alfa
namespace: sh-helm-test
templates:
- templates/deployment.yaml
set:
ozgcloud.environment: test
tests:
- it: should have correct apiVersion
asserts:
- isKind:
of: Deployment
- isAPIVersion:
of: "apps/v1"
- it: should have correct deployment metadata
asserts:
- equal:
path: metadata.name
value: alfa
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should have correct deyployment general spec values
asserts:
- equal:
path: spec.progressDeadlineSeconds
value: 600
- equal:
path: spec.replicas
value: null
- equal:
path: spec.revisionHistoryLimit
value: 10
- it: should have correct deployment spec strategy values
asserts:
- equal:
path: spec.strategy
value:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
......@@ -24,7 +24,7 @@
suite: test image pull secret
templates:
- templates/image-pull-secret.yaml
- templates/image_pull_secret.yaml
release:
name: intelliform-adaptero
namespace: helm-test
......
suite: test ozgcloud bezeichner length
release:
name: eingang-manager
namespace: sh-helm-test
templates:
- templates/ingress.yaml
tests:
- it: should fail on bezeichner (in ingress host) length longer than 46 characters
template: ingress.yaml
set:
ozgcloud:
bezeichner: test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890
environment: test
bundesland: by
asserts:
- failedTemplate:
errorMessage: Bezeichner test1234567890123123456789012345678901234567890123456789012345678901234567890123456789012345678904567890 ist zu lang (max. 46 Zeichen)
\ No newline at end of file
......@@ -37,12 +37,15 @@ tests:
asserts:
- isKind:
of: ServiceAccount
- isAPIVersion:
of: v1
- equal:
path: metadata.name
value: afm-adapter-service-account
- equal:
path: metadata.namespace
value: sh-helm-test
- it: should create default fs adapter service account name
set:
image.name: formsolutions-adapter
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment