ODS-CI
ODS-CI is a framework to test Red Hat Open Data Science and its upstream project, Open Data Hub.
Requirements
-
Linux distribution that supports Selenium automation on top of either a Chromium/Google-Chrome web browser using ChromeDriver or Firefox web browser using geckodriver:
- relevant web driver binaries can be downloaded here: ChromeDriver or geckodriver
- the
ChromeDriver
version must match the installed version of Chromium/Google-Chrome, forgeckodriver
see the release notes for paritcular release - install your web driver so that it's visible by Robot Framework during tests execution, e.g. into
~/.local/bin
path
-
Poetry tool installed and added to your
$PATH
.
Quick Start
-
Create a variables file for all of the global test values
# Create the initial test variables from the example template variables file cp ods_ci/test-variables.yml.example ods_ci/test-variables.yml
-
Edit the test variables file to include information required for this test run. You will need to add info required for test execution:
- URLs based on the test case you are executing.
- OpenShift Console.
- Open Data Hub Dashboard.
- JupyterHub.
- OpenShift Console.
- Test user credentials.
- Browser webdriver to use for testing.
- URLs based on the test case you are executing.
-
Run this script that will create the virtual environment, install the required packages and kickoff the Robot test suite.
# Running all the tests
sh ods_ci/run_robot_test.sh
# Running Smoke test suite via tag
sh ods_ci/run_robot_test.sh --include Smoke
# Running a specific test via tag
sh ods_ci/run_robot_test.sh --include ODS-XYZ
# Running tests in Open Data Hub:
# You need to set accordingly the PRODUCT, APPLICATIONS_NAMESPACE, MONITORING_NAMESPACE,
# OPERATOR_NAMESPACE and NOTEBOOKS_NAMESPACE in test-variables.yaml (or pass them as parameters
# when launching the tests) and overwrite some local variables used in the test suites
# adding --variablefile ./ods_ci/test-variables-odh-overwrite.yml
sh ods_ci/run_robot_test.sh \
--test-variable PRODUCT:ODH \
--test-variable APPLICATIONS_NAMESPACE:opendatahub \
--test-variable MONITORING_NAMESPACE:opendatahub \
--test-variable OPERATOR_NAMESPACE:openshift-operators \
--test-variable NOTEBOOKS_NAMESPACE:opendatahub \
--extra-robot-args '--variablefile ./ods_ci/test-variables-odh-overwrite.yml' \
--include OpenDataHub
- This run_robot_test.sh is a wrapper for creating the python virtual environment and running the Robot Framework CLI.
- The wrapper script has several arguments and you can find details in the dedicated document file. See run_args.md
- As alternative, you can run any of the test cases by creating the python virual environment, install the packages in poetry.lock and running the
robot
command directly
Contributing
See CONTRIBUTING.md
ODS-CI Container Image
See build README on how you can build and use a container to run ODS-CI automation in OpenShift.
License
This project is open sourced under MIT License.