You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »


Table Of Contents


Addresses  CPS-188 - Getting issue details... STATUS


Overview

CSIT (Continuous System and Integration Testing) is expected to be a part of automated verification procedure invoked on review and merge stages.

The tests are executed as a Jenkins jobs which performs following:

  • Builds an image within a local docker (no publishing)
  • Executes the integration testing using shell script which 
    • on startup stage - creates and starts the docker containers based on image built together with other containers required (using docker-compose),
      ensures the application is initialized
    • on test execution stage - executes integration test suites using Robot framework
    • on tear down stage  - stops and removes containers
  • Collects the Robot framework reports

More details on flow: Project-specific CSIT structure

CSIT migration notes

Previously all the CSIT tests for all the ONAP projects were allocated in a same repository  integration/csit

Using shared repository did cause organisational difficulties (review approval etc) maintaining the tests, so it was decided to store CSIT tests on a per project basis.

More details: Moving CSIT to project repositories


Implementation approach

Test resources

All the CSIT related resources are allocated in csit/ folder in the project repository root.
The entry point for testing is run-projects-csit.sh shell script

The directory structure:

  • plans/ contains testing plans, each sub-folder represents a separate test plan, contains
    • startup.sh  - serves docker containers startup
    • testplan.txt  - lists test-suits
    • teardown.sh  - serves docker containers stopping and images removal
  • scripts/ contains shell scripts used on tests executions
  • tests/ contains test suits which are processed by folder name (relative to tests folder) taken from testplan.txt

Jenkins jobs

Jenkins jobs configuration is managed using ci-management repository.
Both legacy and new job templates are defined in jjb/integration/integration-templates-csit.yaml

The legacy CSIT job templates are

'{project-name}-{stream}-verify-csit-{functionality}'
'{project-name}-{stream}-csit-{functionality}'

New CSIT job templates are

'{project-name}-review-verification-maven-{stream}'
'{project-name}-merge-verification-maven-{stream}'

The example of on per project CSIT is ccsdk/distribution project
The associated Jenkins job is described in jjb/ccsdk/ccsdk-csit.yaml

NB. the Jenkins job template using Robot Framework report as a success/failure condition is the only reason the Robot Framework is necessary.
It requires job templates update (new templates) in order to use alternative tools. 

Resources





  • No labels