postgres-operator/e2e
Felix Kunde 43163cf83b
allow using both infrastructure_roles_options (#1090)
* allow using both infrastructure_roles_options

* new default values for user and role definition

* use robot_zmon as parent role

* add operator log to debug

* right name for old secret

* only extract if rolesDefs is empty

* set password1 in old infrastructure role

* fix new infra rile secret

* choose different role key for new secret

* set memberof everywhere

* reenable all tests

* reflect feedback

* remove condition for rolesDefs
2020-08-10 15:08:03 +02:00
..
tests allow using both infrastructure_roles_options (#1090) 2020-08-10 15:08:03 +02:00
Dockerfile [WIP] Extend infrastructure roles handling (#1064) 2020-08-05 14:18:56 +02:00
Makefile Lazy upgrade of the Spilo image (#859) 2020-04-29 10:07:14 +02:00
README.md Add ServiceAnnotations cluster config (#803) 2020-02-10 12:03:25 +01:00
exec.sh [WIP] Extend infrastructure roles handling (#1064) 2020-08-05 14:18:56 +02:00
kind-cluster-postgres-operator-e2e-tests.yaml Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
requirements.txt Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
run.sh install kind as GO module (#742) 2019-11-28 17:39:25 +01:00

README.md

Postgres Operator end-to-end tests

End-to-end tests shall ensure that the Postgres Operator does its job when applying manifests against a Kubernetes (K8s) environment. A test runner Dockerfile is provided to run e2e tests without the need to install K8s and its runtime kubectl in advance. The test runner uses kind to create a local K8s cluster which runs on Docker.

Prerequisites

Docker Go

Build test runner

In the directory of the cloned Postgres Operator repository change to the e2e folder and run:

make

This will build the postgres-operator-e2e-tests image and download the kind runtime.

Run tests

In the e2e folder you can invoke tests either with make test or with:

./run.sh

To run both the build and test step you can invoke make e2e from the parent directory.

Covered use cases

The current tests are all bundled in test_e2e.py:

  • support for multiple namespaces
  • scale Postgres cluster up and down
  • taint-based eviction of Postgres pods
  • invoking logical backup cron job
  • uniqueness of master pod
  • custom service annotations