Testing framework
Introduction
This repository holds the test automation framework based on Java and used for testing TSA
Setup
Prerequisites
-
Install Java version > 17
-
Install gradle version > 7.4.1 - https://gradle.org/install/
-
Favorite IDE (I recommend IntelliJ IDEA - https://www.jetbrains.com/idea/)
-
If using IntelliJ - Install Cucumber for Java & Gherkin addons
Running
- Run the tests on a remote env:
gradle regressionSuite -PbaseUrl={BASE_URL} -Dcucumber.tags="@tsa, not @wip" -Dcourgette.threads=1 -Dcourgette.runLevel=Scenario -Dcourgette.rerunFailedScenarios=false -Dcourgette.rerunAttempts=1
{BASE_URL} - should be replaced with the path where the services are deployed:
example: http://localhost
Specifications for different database implementations
MongoDB
The database should have specific structure and imported actual data.
The structure and the data should follow the examples in test_data folder.
Part of the data is also available in the Policies repository.
-The ID fields can be ignored, they are usually created automatically by the database.
-The JSON extensions of the files are just for formatting purposes.
Memory Storage
If the depoloyment instructions
are followed correctly and the linked repository in POLICY_REPOSITORY_CLONE_URL
environment variable contains all policies from test_data folder, all policy tests should pass.
There will be failing tests in the other services due to the missing data needed for
infohub and tasks services.
Manual execution
To simplify manual tests execution we have a postman collection with the list of supported endpoints, you can find here