tisnik / insights-behavioral-spec

Behavioral specifications for Insights pipelines and its integration into OCM, OCP, and ACM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

insights-behavioral-spec

GitHub Pages License made-with-python

Behavioral specifications for Insights pipelines and its integration into OCM, OCP, ACM, Notification Service, and ServiceLog. Specifications are written in Gherkin language, test steps implementations are written in Python 3.x.

How to run the scenarios

Optional: Spin up the docker containers:

POSTGRES_DB_NAME=test docker-compose up -d
POSTGRES_DB_NAME=test docker-compose --profile test-exporter up -d
POSTGRES_DB_NAME=notification docker-compose --profile test-notification-services up -d

The POSTGRES_DB_NAME environment variable is mandatory, as the different services expect different database names.

If you don't want to spin up the containers, you'll need to locally run the required services (database, Kafka, etc.). You may need to add or remove the managed tag in the ${SERVICE}_tests.sh.

NOTE: Don't forget to set up PATH environment variable correctly when tests are run outside containers. That environment variable needs to also contain directory with tested executable files (for example insights-results-aggregator-cleaner etc.)

If you want to run the real dependencies (content-service and service log), run docker-compose --profile no-mock up -d instead and export WITHMOCK=0.

Run the tests for your repository, for example:

make notification-service

List of existing behavioral specifications (features)

All features are listed on this page

List of scenarios

List of scenarios can be seen there

List of tags

It is possible to filter test scenarios to be run not only by project name but also by using tag or tags. List of all tags used in test scenarios are listed on this page

Makefile targets

Please look at this page

Additional tools

This repository contains additional tools and helpers. Description of such tools can be found on this page

About

Behavioral specifications for Insights pipelines and its integration into OCM, OCP, and ACM

License:Apache License 2.0


Languages

Language:Gherkin 84.1%Language:Python 13.3%Language:Shell 2.3%Language:Makefile 0.2%Language:Dockerfile 0.1%