oncall-engine/helm/oncall/tests/postgres_env_test.yaml
Alexander Cherepanov 9e65f6bf14
Fix bugs in helm chart with external postgresql configuration (#2036)
# What this PR does

Fixing some bugs with external Postgresql configuration.

Also I added some unit tests for helm chart using
[helm-unittest](https://github.com/helm-unittest/helm-unittest). If it's
not an appropriate tool, please suggest another, or I can remove that
test. I added
[this](https://github.com/marketplace/actions/helm-unit-tests) Github
Action to run helm unit tests.


## Which issue(s) this PR fixes
closes #1727 
closes #1923
closes #1245
closes #845 

## Checklist

- [x] Unit, integration, and e2e (if applicable) tests updated
- [ ] Documentation added (or `pr:no public docs` PR label added if not
required)
- [ ] `CHANGELOG.md` updated (or `pr:no changelog` PR label added if not
required)

---------

Co-authored-by: Joey Orlando <joey.orlando@grafana.com>
Co-authored-by: Joey Orlando <joseph.t.orlando@gmail.com>
2023-05-26 13:50:24 +00:00

140 lines
3.9 KiB
YAML

suite: test postgresql deployment environments
templates:
- engine/deployment.yaml
- engine/job-migrate.yaml
- celery/deployment-celery.yaml
release:
name: oncall
tests:
- it: external Postgresql default settings
set:
database.type: postgresql
postgresql.enabled: false
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_TYPE
value: postgresql
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_NAME
value: oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_PORT
value: "5432"
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_USER
value: postgres
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_HOST
value: oncall-postgresql
- it: external Postgresql custom settings
set:
database.type: postgresql
postgresql.enabled: false
externalPostgresql:
host: test-host
port: 5555
db_name: grafana_oncall
user: test_user
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_TYPE
value: postgresql
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_NAME
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_PORT
value: "5555"
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_USER
value: test_user
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_HOST
value: test-host
- it: internal Postgresql default settings
set:
database.type: postgresql
postgresql.enabled: true
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_TYPE
value: postgresql
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_NAME
value: oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_PORT
value: "5432"
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_USER
value: postgres
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_HOST
value: oncall-postgresql
- it: internal Postgresql custom settings
set:
database.type: postgresql
postgresql:
enabled: true
auth:
database: grafana_oncall
username: grafana_oncall
asserts:
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_TYPE
value: postgresql
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_NAME
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_PORT
value: "5432"
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_USER
value: grafana_oncall
- contains:
path: spec.template.spec.containers[0].env
content:
name: DATABASE_HOST
value: oncall-postgresql