diff --git a/src/main/helm/templates/_helpers.tpl b/src/main/helm/templates/_helpers.tpl index b403131788a59d2b1f80d3a1634a6e78f4be8e3a..1317f415cf1502d9f897172dfcfcfdf2b1c3a2ef 100644 --- a/src/main/helm/templates/_helpers.tpl +++ b/src/main/helm/templates/_helpers.tpl @@ -124,3 +124,6 @@ app.kubernetes.io/namespace: {{ include "app.namespace" . }} {{- end -}} {{- end -}} +{{- define "app.elsterTransferOperatorNamespace" -}} +{{- required "elsterTransferOperator.namespace must be set" (.Values.elsterTransferOperator).namespace -}} +{{- end -}} \ No newline at end of file diff --git a/src/main/helm/templates/deployment.yaml b/src/main/helm/templates/deployment.yaml index c46a1c3532d369c915a8c038b2cbbb5fc24b60ca..329fb56867a302145ce93e6d1d11e8384d795713 100644 --- a/src/main/helm/templates/deployment.yaml +++ b/src/main/helm/templates/deployment.yaml @@ -190,6 +190,18 @@ spec: value: {{ quote (required "ozgcloud.muk.sender must be set if ozgcloud.muk is enabled" ((.Values.ozgcloud).muk).sender) }} - name: ozgcloud_muk_server value: {{ quote (required "ozgcloud.muk.server must be set if ozgcloud.muk is enabled" ((.Values.ozgcloud).muk).server) }} + - name: ozgcloud_muk_password + valueFrom: + secretKeyRef: + name: muk-user-secret + key: password + optional: false + - name: ozgcloud_muk_userName + valueFrom: + secretKeyRef: + name: muk-user-secret + key: login + optional: false {{- end }} diff --git a/src/main/helm/templates/elstertransfer_user_cr.yaml b/src/main/helm/templates/elstertransfer_user_cr.yaml new file mode 100644 index 0000000000000000000000000000000000000000..622de75f0eb7c8ff34d7069732d7bd40da1bab8a --- /dev/null +++ b/src/main/helm/templates/elstertransfer_user_cr.yaml @@ -0,0 +1,34 @@ + +# +# 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. +# +{{- if (((.Values.ozgcloud).muk).enabled) }} +--- +apiVersion: operator.ozgcloud.de/v1 +kind: OzgCloudElsterTransferUser +metadata: + name: {{ include "app.namespace" . }}-etr-user + namespace: {{ include "app.namespace" $ }} +spec: + keep_after_delete: {{ (.Values.elsterTransferOperator).keep_after_delete | default false }} +{{- end -}} \ No newline at end of file diff --git a/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_create_role.yaml b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_create_role.yaml new file mode 100644 index 0000000000000000000000000000000000000000..14e66bc84f9808f7a1c044555305f4a4148e1bf2 --- /dev/null +++ b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_create_role.yaml @@ -0,0 +1,50 @@ +# +# 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. +# +{{- if ((.Values.ozgcloud).muk).enabled }} +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-create-role-binding + namespace: {{ include "app.namespace" . }} +subjects: + - kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: {{ include "app.elsterTransferOperatorNamespace" . }} +roleRef: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-create-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-create-role + namespace: {{ include "app.namespace" . }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["create"] +{{- end }} diff --git a/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_read_role.yaml b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_read_role.yaml new file mode 100644 index 0000000000000000000000000000000000000000..561b89abc4a96334c80a54382887e323dde6fd2f --- /dev/null +++ b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_read_role.yaml @@ -0,0 +1,51 @@ +# +# 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. +# +{{- if ((.Values.ozgcloud).muk).enabled }} +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-read-role-binding + namespace: {{ include "app.namespace" . }} +subjects: + - kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: {{ include "app.elsterTransferOperatorNamespace" . }} +roleRef: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-read-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-read-role + namespace: {{ include "app.namespace" . }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "list"] + resourceNames: ["muk-user-secret"] +{{- end -}} diff --git a/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_update_role.yaml b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_update_role.yaml new file mode 100644 index 0000000000000000000000000000000000000000..584400851f0b3b110cb2d32e619a4b1816cb899d --- /dev/null +++ b/src/main/helm/templates/ozgcloud_elstertransfer_operator_secret_update_role.yaml @@ -0,0 +1,51 @@ +# +# 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. +# +{{- if ((.Values.ozgcloud).muk).enabled }} +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-update-role-binding + namespace: {{ include "app.namespace" . }} +subjects: + - kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: {{ include "app.elsterTransferOperatorNamespace" . }} +roleRef: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-update-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: ozgcloud-elster-transfer-operator-secret-update-role + namespace: {{ include "app.namespace" . }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["update"] + resourceNames: ["muk-user-secret"] +{{- end }} diff --git a/src/main/helm/values.yaml b/src/main/helm/values.yaml index 0a5fa16348e66ee56810b7a102f364d54ff81061..5182d0baab596a8abe3a67fcaa32c1f87e78b615 100644 --- a/src/main/helm/values.yaml +++ b/src/main/helm/values.yaml @@ -61,4 +61,4 @@ zufiManager: address: dns://zufi.zufi-manager:9090 elasticsearch: - certificateSecretName: elasticsearch-certificate \ No newline at end of file + certificateSecretName: elasticsearch-certificate diff --git a/src/test/helm-linter-values.yaml b/src/test/helm-linter-values.yaml index 047b472e2225090f010e1f297a03a7a660062eb1..4ee02232ecd2a9c111ed1a6f0eaf7295f075700c 100644 --- a/src/test/helm-linter-values.yaml +++ b/src/test/helm-linter-values.yaml @@ -27,7 +27,12 @@ ozgcloud: infoManager: address: https://info-manager.my-wonderful-domain.local:9000 + networkPolicy: dnsServerNamespace: test-dns-namespace -imagePullSecret: test-image-pull-secret \ No newline at end of file +imagePullSecret: test-image-pull-secret + +elsterTransferOperator: + namespace: elster-transfer + \ No newline at end of file diff --git a/src/test/helm/deployment_muk_test.yaml b/src/test/helm/deployment_muk_test.yaml index 33c02db5fd14acf174884dc8f09517d0403bf1b1..aeb0cd59e88df0196712fb836088d1faa2b468ff 100644 --- a/src/test/helm/deployment_muk_test.yaml +++ b/src/test/helm/deployment_muk_test.yaml @@ -51,6 +51,25 @@ tests: content: name: ozgcloud_muk_server value: muk.test.ozg.de + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_muk_userName + valueFrom: + secretKeyRef: + name: muk-user-secret + key: login + optional: false + - contains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_muk_password + valueFrom: + secretKeyRef: + name: muk-user-secret + key: password + optional: false + - it: should not by default set muk values asserts: - notContains: @@ -63,6 +82,16 @@ tests: content: name: ozgcloud_muk_server any: true + - notContains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_muk_userName + any: true + - notContains: + path: spec.template.spec.containers[0].env + content: + name: ozgcloud_muk_password + any: true - it: should fail if sender name is not set set: @@ -87,3 +116,4 @@ tests: + diff --git a/src/test/helm/elster_transfer_user_cr_test.yaml b/src/test/helm/elster_transfer_user_cr_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0587c112a56c4097ccba6dc6c06cd60349fc66f5 --- /dev/null +++ b/src/test/helm/elster_transfer_user_cr_test.yaml @@ -0,0 +1,103 @@ +# +# 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: elster transfer user cr +release: + name: vorgang-manager + namespace: by-helm-test +templates: + - templates/elstertransfer_user_cr.yaml +tests: + - it: should contain apiVersion + set: + ozgcloud: + muk: + enabled: true + asserts: + - isAPIVersion: + of: operator.ozgcloud.de/v1 + - it: should contain basic info + set: + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: OzgCloudElsterTransferUser + - isAPIVersion: + of: operator.ozgcloud.de/v1 + - it: should have metadata name + set: + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: metadata.name + value: by-helm-test-etr-user + - it: should have metadata namespace + set: + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: metadata.namespace + value: by-helm-test + - it: should have default spec + set: + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: spec.keep_after_delete + value: false + - it: should set spec correctly + set: + ozgcloud: + muk: + enabled: true + elsterTransferOperator: + keep_after_delete: true + asserts: + - equal: + path: spec.keep_after_delete + value: true + - it: should create cr if enabled + set: + ozgcloud: + muk: + enabled: true + asserts: + - hasDocuments: + count: 1 + + - it: should NOT create cr by default + asserts: + - hasDocuments: + count: 0 + + + \ No newline at end of file diff --git a/src/test/helm/ozgcloud_elstertransfer_operator_secret_create_role_test.yaml b/src/test/helm/ozgcloud_elstertransfer_operator_secret_create_role_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..34a6109f7119929c515b06f0e1de9c85e440de55 --- /dev/null +++ b/src/test/helm/ozgcloud_elstertransfer_operator_secret_create_role_test.yaml @@ -0,0 +1,133 @@ +# +# 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: ElsterTransfer user secret rbac test +release: + name: ozgcloud-elstertransfer-operator + namespace: test-namespace +templates: + - templates/ozgcloud_elstertransfer_operator_secret_create_role.yaml + + +tests: + - it: test RoleBinding metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: RoleBinding + documentIndex: 0 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 0 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-create-role-binding + documentIndex: 0 + + - it: test RoleBinding subject + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: subjects + content: + kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: etr-operator + documentIndex: 0 + - it: test RoleBinding roleRef + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: roleRef + value: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-create-role + apiGroup: rbac.authorization.k8s.io + documentIndex: 0 + + - it: test Role metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: Role + documentIndex: 1 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 1 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-create-role + documentIndex: 1 + + - it: test RoleBinding rules + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: rules + content: + apiGroups: + - "" + resources: + - secrets + verbs: + - create + documentIndex: 1 + - it: test eltertransferOperator namespace must be set msg + set: + ozgcloud: + muk: + enabled: true + asserts: + - failedTemplate: + errorMessage: elsterTransferOperator.namespace must be set + + - it: RBAC not created by default + asserts: + - hasDocuments: + count: 0 \ No newline at end of file diff --git a/src/test/helm/ozgcloud_elstertransfer_operator_secret_read_role_test.yaml b/src/test/helm/ozgcloud_elstertransfer_operator_secret_read_role_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6d3bf2a10988847c5e425f13def889ea9ef8ea48 --- /dev/null +++ b/src/test/helm/ozgcloud_elstertransfer_operator_secret_read_role_test.yaml @@ -0,0 +1,138 @@ +# +# 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: ElsterTransfer user secret rbac test +release: + name: ozgcloud-elstertransfer-operator + namespace: test-namespace +templates: + - templates/ozgcloud_elstertransfer_operator_secret_read_role.yaml + + +tests: + - it: test RoleBinding metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: RoleBinding + documentIndex: 0 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 0 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-read-role-binding + documentIndex: 0 + + - it: test RoleBinding subject + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: subjects + content: + kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: etr-operator + documentIndex: 0 + - it: test RoleBinding roleRef + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: roleRef + value: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-read-role + apiGroup: rbac.authorization.k8s.io + documentIndex: 0 + + - it: test Role metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: Role + documentIndex: 1 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 1 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-read-role + documentIndex: 1 + + - it: test RoleBinding rules + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: rules + content: + apiGroups: + - "" + resourceNames: + - muk-user-secret + resources: + - secrets + verbs: + - get + - list + documentIndex: 1 + - it: test eltertransferOperator namespace must be set msg + set: + ozgcloud: + muk: + enabled: true + asserts: + - failedTemplate: + errorMessage: elsterTransferOperator.namespace must be set + documentIndex: 0 + + - it: RBAC not created by default + asserts: + - hasDocuments: + count: 0 + \ No newline at end of file diff --git a/src/test/helm/ozgcloud_elstertransfer_operator_secret_update_role_test.yaml b/src/test/helm/ozgcloud_elstertransfer_operator_secret_update_role_test.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5f28b5cd2104687d7b40103ae741effa0418fda4 --- /dev/null +++ b/src/test/helm/ozgcloud_elstertransfer_operator_secret_update_role_test.yaml @@ -0,0 +1,136 @@ +# +# 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: ElsterTransfer user secret rbac test +release: + name: ozgcloud-elstertransfer-operator + namespace: test-namespace +templates: + - templates/ozgcloud_elstertransfer_operator_secret_update_role.yaml + + +tests: + - it: test RoleBinding metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: RoleBinding + documentIndex: 0 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 0 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-update-role-binding + documentIndex: 0 + + - it: test RoleBinding subject + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: subjects + content: + kind: ServiceAccount + name: ozgcloud-elster-transfer-operator-service-account + namespace: etr-operator + documentIndex: 0 + - it: test RoleBinding roleRef + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - equal: + path: roleRef + value: + kind: Role + name: ozgcloud-elster-transfer-operator-secret-update-role + apiGroup: rbac.authorization.k8s.io + documentIndex: 0 + + - it: test Role metadata + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - isKind: + of: Role + documentIndex: 1 + - isAPIVersion: + of: rbac.authorization.k8s.io/v1 + documentIndex: 1 + - equal: + path: metadata.name + value: ozgcloud-elster-transfer-operator-secret-update-role + documentIndex: 1 + + - it: test RoleBinding rules + set: + elsterTransferOperator: + namespace: etr-operator + ozgcloud: + muk: + enabled: true + asserts: + - contains: + path: rules + content: + apiGroups: + - "" + resources: + - secrets + verbs: + - update + resourceNames: + - muk-user-secret + documentIndex: 1 + - it: test eltertransferOperator namespace must be set msg + set: + ozgcloud: + muk: + enabled: true + asserts: + - failedTemplate: + errorMessage: elsterTransferOperator.namespace must be set + + - it: RBAC not created by default + asserts: + - hasDocuments: + count: 0 + \ No newline at end of file