Files
library-charts/library/common-test/tests/cnpg/credentials_test.yaml
2024-01-21 22:42:43 +02:00

152 lines
4.8 KiB
YAML

suite: cnpg credentials test
templates:
- common.yaml
release:
name: test-release-name
namespace: test-release-namespace
tests:
- it: should generate correct secret
set:
operator:
verify:
enabled: false
cnpg:
my-pg:
enabled: true
user: test-user
database: test-db
asserts:
- documentIndex: &secretDoc 3
isKind:
of: Secret
- documentIndex: *secretDoc
isAPIVersion:
of: v1
- documentIndex: *secretDoc
equal:
path: type
value: kubernetes.io/basic-auth
- documentIndex: *secretDoc
equal:
path: metadata.name
value: test-release-name-common-test-cnpg-my-pg-user
- documentIndex: *secretDoc
equal:
path: stringData.username
value: test-user
- documentIndex: *secretDoc
matchRegex:
path: stringData.password
pattern: ^[a-zA-Z0-9]{62}$
- documentIndex: &secretDoc 2
isKind:
of: Secret
- documentIndex: *secretDoc
isAPIVersion:
of: v1
- documentIndex: *secretDoc
equal:
path: metadata.name
value: test-release-name-common-test-cnpg-my-pg-urls
- documentIndex: *secretDoc
isSubset:
path: stringData
content:
porthost: test-release-name-common-test-cnpg-my-pg-rw:5432
host: test-release-name-common-test-cnpg-my-pg-rw
jdbc: jdbc:postgresql://test-release-name-common-test-cnpg-my-pg-rw:5432/test-db
- documentIndex: *secretDoc
matchRegex:
path: stringData.std
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-rw:5432/test-db
- documentIndex: *secretDoc
matchRegex:
path: stringData.nossl
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-rw:5432/test-db\?sslmode=disable
- it: should generate correct secret with ro pooler
set:
operator:
verify:
enabled: false
cnpg:
my-pg:
enabled: true
user: test-user
database: test-db
pooler:
createRO: true
asserts:
- documentIndex: &secretDoc 3
isKind:
of: Secret
- documentIndex: *secretDoc
isAPIVersion:
of: v1
- documentIndex: *secretDoc
equal:
path: metadata.name
value: test-release-name-common-test-cnpg-my-pg-urls
- documentIndex: *secretDoc
isSubset:
path: stringData
content:
porthost: test-release-name-common-test-cnpg-my-pg-rw:5432
host: test-release-name-common-test-cnpg-my-pg-rw
jdbc: jdbc:postgresql://test-release-name-common-test-cnpg-my-pg-rw:5432/test-db
hostRO: test-release-name-common-test-cnpg-my-pg-ro
jdbcRO: jdbc:postgresql://test-release-name-common-test-cnpg-my-pg-ro:5432/test-db
porthostRO: test-release-name-common-test-cnpg-my-pg-ro:5432
- documentIndex: *secretDoc
matchRegex:
path: stringData.std
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-rw:5432/test-db
- documentIndex: *secretDoc
matchRegex:
path: stringData.nossl
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-rw:5432/test-db\?sslmode=disable
- documentIndex: *secretDoc
matchRegex:
path: stringData.stdRO
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-ro:5432/test-db
- documentIndex: *secretDoc
matchRegex:
path: stringData.nosslRO
pattern: postgresql://test-user:[a-zA-Z0-9]{62}@test-release-name-common-test-cnpg-my-pg-ro:5432/test-db\?sslmode=disable
- it: should generate correct secret with password set
set:
operator:
verify:
enabled: false
cnpg:
my-pg:
enabled: true
user: test-user
database: test-db
password: test-password
asserts:
- documentIndex: &secretDoc 3
isKind:
of: Secret
- documentIndex: *secretDoc
isAPIVersion:
of: v1
- documentIndex: *secretDoc
equal:
path: type
value: kubernetes.io/basic-auth
- documentIndex: *secretDoc
equal:
path: metadata.name
value: test-release-name-common-test-cnpg-my-pg-user
- documentIndex: *secretDoc
equal:
path: stringData.username
value: test-user
- documentIndex: *secretDoc
equal:
path: stringData.password
value: test-password