chart: appVersion: 0.1.0 version: 0.1.0 suite: Secret database template (basic) release: name: prometheus-postgres-exporter-unittest namespace: testing templates: - templates/prometheus-postgres-exporter/secretDatabase.yaml tests: - it: Skip rendering by using existing secret. set: config.database.existingSecret.enabled: true asserts: - hasDocuments: count: 0 - it: Expect error when no variable is defined. asserts: - failedTemplate: errorMessage: No `databaseConnectionUrl` defined! - it: Expect error when variable `databaseUsername` is not defined. set: # config.database.secret.databaseUsername: "" config.database.secret.databasePassword: "postgres" config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable" asserts: - failedTemplate: errorMessage: No `databaseUsername` defined! - it: Expect error when variable `databasePassword` is not defined. set: config.database.secret.databaseUsername: "postgres" # config.database.secret.databasePassword: "postgres" config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable" asserts: - failedTemplate: errorMessage: No `databasePassword` defined! - it: Expect error when variable `databaseConnectionUrl` is not defined. set: config.database.secret.databaseUsername: "postgres" config.database.secret.databasePassword: "postgres" # config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable" asserts: - failedTemplate: errorMessage: No `databaseConnectionUrl` defined! - it: Rendering database secret. set: config.database.secret.databaseUsername: "postgres" config.database.secret.databasePassword: "postgres" config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable" asserts: - hasDocuments: count: 1 - containsDocument: apiVersion: v1 kind: Secret name: prometheus-postgres-exporter-unittest-database-env namespace: testing - notExists: path: metadata.annotations - equal: path: metadata.labels value: app.kubernetes.io/instance: prometheus-postgres-exporter-unittest app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: prometheus-postgres-exporter app.kubernetes.io/version: 0.1.0 helm.sh/chart: prometheus-postgres-exporter-0.1.0 - equal: path: stringData.DATA_SOURCE_URI value: "localhost:5432/postgres?sslmode=disable" - equal: path: stringData.DATA_SOURCE_USER value: "postgres" - equal: path: stringData.DATA_SOURCE_PASS value: "postgres" - it: Rendering custom annotations and labels. set: config.database.secret.annotations: foo: bar bar: foo config.database.secret.databaseUsername: "postgres" config.database.secret.databasePassword: "postgres" config.database.secret.databaseConnectionUrl: "localhost:5432/postgres?sslmode=disable" config.database.secret.labels: foo: bar bar: foo asserts: - equal: path: metadata.annotations value: foo: bar bar: foo - isSubset: path: metadata.labels content: foo: bar bar: foo