diff --git a/src/test/helm/service_monitor_test.yaml b/src/test/helm/service_monitor_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e5a4cd14bee25548f2d7c9dcadac25d79afeebdf --- /dev/null +++ b/src/test/helm/service_monitor_test.yaml @@ -0,0 +1,90 @@ +# +# 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 service_monitor +release: + name: administration + namespace: sh-helm-test +templates: + - templates/service_monitor.yaml +tests: + - it: should have basic info and the label component with value administration-service-monitor attached + asserts: + - isKind: + of: ServiceMonitor + - isAPIVersion: + of: monitoring.coreos.com/v1 + - equal: + path: metadata.name + value: administration + - equal: + path: metadata.namespace + value: sh-helm-test + - equal: + path: metadata.labels["component"] + value: administration-service-monitor + + - it: should contain default lables and component lables + asserts: + - equal: + path: metadata.labels + value: + app.kubernetes.io/instance: administration + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: administration + app.kubernetes.io/namespace: sh-helm-test + component: administration-service-monitor + helm.sh/chart: administration-0.0.0-MANAGED-BY-JENKINS + ozgcloud-mongodb-client: "true" + + - it: should have the metrics endpoint configured by default + set: + env.springProfiles: oc,stage + asserts: + - contains: + path: spec.endpoints + content: + port: metrics + path: /actuator/prometheus + - it: should be able to enable the endpoint + asserts: + - contains: + path: spec.endpoints + content: + port: metrics + path: /actuator/prometheus + - it: namespace selector should contain the namespace + asserts: + - contains: + path: spec.namespaceSelector.matchNames + content: sh-helm-test + + - it: selector should contain helm recommended labels name and namespace + asserts: + - equal: + path: spec.selector.matchLabels + value: + app.kubernetes.io/name: administration + app.kubernetes.io/namespace: sh-helm-test + component: administration-service \ No newline at end of file