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

OZG-6716 add service monitor test

parent d28567cb
No related branches found
No related tags found
1 merge request!1Ozg 6716 add service_monitor
...@@ -9,13 +9,16 @@ app.kubernetes.io/part-of: ozgcloud ...@@ -9,13 +9,16 @@ app.kubernetes.io/part-of: ozgcloud
app.kubernetes.io/version: {{ .Chart.Version }} app.kubernetes.io/version: {{ .Chart.Version }}
helm.sh/chart: {{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" }} helm.sh/chart: {{ printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" }}
app.kubernetes.io/component: bayernid-proxy app.kubernetes.io/component: bayernid-proxy
component: bayernid-proxy {{- end -}}
{{/* Namespace */}}
{{- define "app.namespace" -}}
{{- default .Release.Namespace | toString | trunc 63 | trimSuffix "-" -}}
{{- end -}} {{- end -}}
{{- define "app.matchLabels" }} {{- define "app.matchLabels" }}
app.kubernetes.io/name: {{ .Release.Name }} app.kubernetes.io/name: {{ .Release.Name }}
app.kubernetes.io/namespace: {{ .Release.Namespace }} app.kubernetes.io/namespace: {{ .Release.Namespace }}
component: bayernid-proxy
{{- end -}} {{- end -}}
{{- define "app.envSpringProfiles" }} {{- define "app.envSpringProfiles" }}
......
...@@ -29,6 +29,7 @@ metadata: ...@@ -29,6 +29,7 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "app.defaultLabels" . | indent 4 }} {{- include "app.defaultLabels" . | indent 4 }}
component: bayernid-proxy
spec: spec:
progressDeadlineSeconds: 600 progressDeadlineSeconds: 600
replicas: {{ .Values.replicaCount }} replicas: {{ .Values.replicaCount }}
...@@ -36,6 +37,7 @@ spec: ...@@ -36,6 +37,7 @@ spec:
selector: selector:
matchLabels: matchLabels:
{{- include "app.matchLabels" . | indent 6 }} {{- include "app.matchLabels" . | indent 6 }}
component: bayernid-proxy
strategy: strategy:
rollingUpdate: rollingUpdate:
maxSurge: 1 maxSurge: 1
...@@ -45,6 +47,7 @@ spec: ...@@ -45,6 +47,7 @@ spec:
metadata: metadata:
labels: labels:
{{- include "app.defaultLabels" . | indent 8 }} {{- include "app.defaultLabels" . | indent 8 }}
component: bayernid-proxy
spec: spec:
{{- if (.Values.serviceAccount).create }} {{- if (.Values.serviceAccount).create }}
serviceAccountName: {{ include "app.serviceAccountName" . }} serviceAccountName: {{ include "app.serviceAccountName" . }}
......
...@@ -29,6 +29,7 @@ metadata: ...@@ -29,6 +29,7 @@ metadata:
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
labels: labels:
{{- include "app.defaultLabels" . | indent 4 }} {{- include "app.defaultLabels" . | indent 4 }}
component: bayernid-proxy
spec: spec:
type: ClusterIP type: ClusterIP
ports: ports:
...@@ -40,3 +41,4 @@ spec: ...@@ -40,3 +41,4 @@ spec:
protocol: TCP protocol: TCP
selector: selector:
{{- include "app.matchLabels" . | indent 4 }} {{- include "app.matchLabels" . | indent 4 }}
component: bayernid-proxy
#
# 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: bayernid-proxy
namespace: sh-helm-test
templates:
- templates/service_monitor.yaml
tests:
- it: should have basic info and the label component with value bayernid-proxy-service-monitor attached
asserts:
- isKind:
of: ServiceMonitor
- isAPIVersion:
of: monitoring.coreos.com/v1
- equal:
path: metadata.name
value: bayernid-proxy
- equal:
path: metadata.namespace
value: sh-helm-test
- equal:
path: metadata.labels["component"]
value: bayernid-proxy-service-monitor
- it: should contain default lables and component lables
asserts:
- equal:
path: metadata.labels
value:
app.kubernetes.io/component: bayernid-proxy
app.kubernetes.io/instance: bayernid-proxy
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: bayernid-proxy
app.kubernetes.io/namespace: sh-helm-test
app.kubernetes.io/part-of: ozgcloud
app.kubernetes.io/version: 0.0.0-MANAGED-BY-JENKINS
component: bayernid-proxy-service-monitor
helm.sh/chart: bayernid-proxy-0.0.0-MANAGED-BY-JENKINS
- 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 the component label with the value bayernid-proxy-service
asserts:
- equal:
path: spec.selector.matchLabels["component"]
value: bayernid-proxy-service
- it: selector should contain helm recommended labels name and namespace
asserts:
- equal:
path: spec.selector.matchLabels
value:
app.kubernetes.io/name: bayernid-proxy
app.kubernetes.io/namespace: sh-helm-test
component: bayernid-proxy-service
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment