postgres-operator/e2e
Felix Kunde 5e93aabea6
improve e2e test debugging (#1107)
* print operator log in most tests when they time out
2020-08-28 14:57:19 +02:00
..
tests improve e2e test debugging (#1107) 2020-08-28 14:57:19 +02:00
Dockerfile [WIP] Extend infrastructure roles handling (#1064) 2020-08-05 14:18:56 +02:00
Makefile update kind and use with old storage class (#1121) 2020-08-28 12:16:37 +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 allow delete only if annotations meet configured criteria (#1069) 2020-08-13 16:36:22 +02:00
run.sh update kind and use with old storage class (#1121) 2020-08-28 12:16:37 +02: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