Service for carrying end-to-end tests with Catcher.
Requires Postgres.
To run it locally or via the IDE you must ensure you have python installed, as this is a requirement for the catcher-core.
On the first run application will detect python and install catcher itself if it is not installed.
It is recommended to use venv
(recommended) or conda
instead of system python when running locally.
If you are catcher_base via IDE with conda
executor you and you set it up as native_executable - you must add it's PATH to the IDE's run config.
Application already dockerized. You can run it standalone or via docker-compose. It can be configured via env vars or by
mounting your application configuration to /usr/app/config
.
Service can be configured via environmental variables, java args or by placing your own application.yml
/application.properties
to the default Spring's search path.
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.
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).
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)
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 :/
Python 3.7+ 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!