/catcher_base

Service for running end to end tests

Primary LanguageKotlinApache License 2.0Apache-2.0

Catcher Base

Service for carrying end-to-end tests with Catcher.
Requires Postgres and Catcher to be installed locally.

Configuration

Service can be configured via environmental variables (although you can use java args).

Database

DB_HOST - database host. Localhost is default.
DB_PORT - database port. 5432 is default.
DB_NAME - database name. catcher is default.
DB_USER - database user. test is default.
DB_PASS - database password. test is default.

Service

LOCAL_DIR - local directory for projects storage. ./ is default. Only local filesystem paths are supported right now.
SERVER_PORT - which port to listen. 8080 is default. You can also use -Dserver.port java arg.
ADMIN_USER - admin user email/name. Will be created on startup, if there are no other admin users in the database.
ADMIN_PASS - admin user password.
JWT_PRIV - set your own secret key for jwt token encryption (highly recommended).

Executors

Local

Local executor run tests on the same machine with Base is running.
You can configure it:
MAX_POOL_SIZE - executor's max pool size (default is 2)
CORE_POOL_SIZE - executor's core pool size (default is 1)

Kubernetes

K8s executor runs tests in spawned by demand k8s agents. To select it over the local executor you need to wait till I implement it :/

Tools

Python 3.5+ is needed for tests to run, as well as catcher itself. You can specify different python providers, such as Conda, Venv or python used in the system.
For Conda specify catcher.system.conda_name.
For Venv specify catcher.system.venv_name.
For system specify both catcher.system.native_executable and catcher.system.pip_executable.
Remember, that only one of them should be specified.
Catcher will be installed automatically on Base startup.
switch to env vars!