From a4c8fa19bf79d3a15c2cb5cc1ff8b64c2ecbfe42 Mon Sep 17 00:00:00 2001 From: Hitesh Nayak Date: Wed, 10 Apr 2024 22:39:37 +0530 Subject: [PATCH] fix: introduce unit tests for service monitor and metrics secret Signed-off-by: Hitesh Nayak --- ...etrics-secret-servicemonitor-disabled.yaml | 21 ++++++++ ...metrics-secret-servicemonitor-enabled.yaml | 31 ++++++++++++ .../servicemonitor-disabled.yaml | 21 ++++++++ .../servicemonitor-enabled.yaml | 49 +++++++++++++++++++ 4 files changed, 122 insertions(+) create mode 100644 unittests/metric-secret/metrics-secret-servicemonitor-disabled.yaml create mode 100644 unittests/metric-secret/metrics-secret-servicemonitor-enabled.yaml create mode 100644 unittests/servicemonitor/servicemonitor-disabled.yaml create mode 100644 unittests/servicemonitor/servicemonitor-enabled.yaml diff --git a/unittests/metric-secret/metrics-secret-servicemonitor-disabled.yaml b/unittests/metric-secret/metrics-secret-servicemonitor-disabled.yaml new file mode 100644 index 0000000..b293d7c --- /dev/null +++ b/unittests/metric-secret/metrics-secret-servicemonitor-disabled.yaml @@ -0,0 +1,21 @@ +suite: Metrics secret template (gitea.metrics.serviceMonitor disabled) +release: + name: gitea-unittests + namespace: testing +templates: + - templates/gitea/metrics-secret.yaml +tests: + - it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.config.metrics.TOKEN empty + set: + gitea.metrics.serviceMonitor.enabled: false + gitea.config.metrics.TOKEN: "" + asserts: + - hasDocuments: + count: 0 + - it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.config.metrics.TOKEN not empty + set: + gitea.metrics.serviceMonitor.enabled: false + gitea.config.metrics.TOKEN: "test-token" + asserts: + - hasDocuments: + count: 0 diff --git a/unittests/metric-secret/metrics-secret-servicemonitor-enabled.yaml b/unittests/metric-secret/metrics-secret-servicemonitor-enabled.yaml new file mode 100644 index 0000000..8605aa9 --- /dev/null +++ b/unittests/metric-secret/metrics-secret-servicemonitor-enabled.yaml @@ -0,0 +1,31 @@ +suite: Metrics secret template (gitea.metrics.serviceMonitor enabled) +release: + name: gitea-unittests + namespace: testing +templates: + - templates/gitea/metrics-secret.yaml +tests: + - it: renders nothing if gitea.metrics.serviceMonitor enabled and gitea.config.metrics.TOKEN empty + set: + gitea.metrics.serviceMonitor.enabled: true + gitea.config.metrics.TOKEN: "" + asserts: + - hasDocuments: + count: 0 + - it: renders Secret if gitea.metrics.serviceMonitor enabled and gitea.config.metrics.TOKEN not empty + set: + gitea.metrics.serviceMonitor.enabled: true + gitea.config.metrics.TOKEN: "test-token" + asserts: + - hasDocuments: + count: 1 + - documentIndex: 0 + containsDocument: + kind: Secret + apiVersion: v1 + name: gitea-unittests-metrics-secret + - isNotNullOrEmpty: + path: metadata.labels + - equal: + path: data.token + value: "dGVzdC10b2tlbg==" diff --git a/unittests/servicemonitor/servicemonitor-disabled.yaml b/unittests/servicemonitor/servicemonitor-disabled.yaml new file mode 100644 index 0000000..20fd0cf --- /dev/null +++ b/unittests/servicemonitor/servicemonitor-disabled.yaml @@ -0,0 +1,21 @@ +suite: ServiceMonitor template (gitea.metrics.serviceMonitor disabled) +release: + name: gitea-unittests + namespace: testing +templates: + - templates/gitea/servicemonitor.yaml +tests: + - it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.config.metrics.TOKEN empty + set: + gitea.metrics.serviceMonitor.enabled: false + gitea.config.metrics.TOKEN: "" + asserts: + - hasDocuments: + count: 0 + - it: renders nothing if gitea.metrics.serviceMonitor disabled and gitea.config.metrics.TOKEN not empty + set: + gitea.metrics.serviceMonitor.enabled: false + gitea.config.metrics.TOKEN: "test-token" + asserts: + - hasDocuments: + count: 0 diff --git a/unittests/servicemonitor/servicemonitor-enabled.yaml b/unittests/servicemonitor/servicemonitor-enabled.yaml new file mode 100644 index 0000000..f36d40f --- /dev/null +++ b/unittests/servicemonitor/servicemonitor-enabled.yaml @@ -0,0 +1,49 @@ +suite: ServiceMonitor template (gitea.metrics.serviceMonitor enabled) +release: + name: gitea-unittests + namespace: testing +templates: + - templates/gitea/servicemonitor.yaml +tests: + - it: renders unsecure ServiceMonitor if gitea.metrics.serviceMonitor enabled and gitea.config.metrics.TOKEN empty + set: + gitea.metrics.serviceMonitor.enabled: true + gitea.config.metrics.TOKEN: "" + asserts: + - hasDocuments: + count: 1 + - documentIndex: 0 + containsDocument: + kind: ServiceMonitor + apiVersion: monitoring.coreos.com/v1 + name: gitea-unittests + - isNotNullOrEmpty: + path: metadata.labels + - equal: + path: spec.endpoints + value: + - port: http + - it: renders secure ServiceMonitor if gitea.metrics.serviceMonitor enabled and gitea.config.metrics.TOKEN not empty + set: + gitea.metrics.serviceMonitor.enabled: true + gitea.config.metrics.TOKEN: "test-token" + asserts: + - hasDocuments: + count: 1 + - documentIndex: 0 + containsDocument: + kind: ServiceMonitor + apiVersion: monitoring.coreos.com/v1 + name: gitea-unittests + - isNotNullOrEmpty: + path: metadata.labels + - equal: + path: spec.endpoints + value: + - port: http + authorization: + type: Bearer + credentials: + name: gitea-unittests-metrics-secret + key: token + optional: true