Table Of Contents


Addresses 


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:

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:

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 defined in 

'{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