Giter Club home page Giter Club logo

ods-ci's Introduction

ODS-CI

ODS-CI is a framework to test Red Hat Open Data Science and its upstream project, Open Data Hub.

Requirements

  1. 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, for geckodriver 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
  2. Poetry tool installed and added to your $PATH.

Quick Start

  1. 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
  2. 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.
    • Test user credentials.
    • Browser webdriver to use for testing.
  3. 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.

ods-ci's People

Contributors

lugi0 avatar bdattoma avatar jgarciao avatar tarukumar avatar pablofelix avatar vasukulkarni avatar diegolovison avatar aloganat avatar manosnoam avatar prudhvi-165 avatar lavlas avatar risusing avatar mwaykole avatar rkamble5 avatar jstourac avatar pranavsuryaw avatar kpouget avatar kornys avatar nehachopra27 avatar vaishnavihire avatar asanzgom avatar winklerm avatar lucferbux avatar jiripetrlik avatar fcami avatar fedealonso avatar apodhrad avatar anishasthana avatar jbpratt avatar omrirh avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.