Integration of AAI multi-tenancy test suite
Multi-Tenancy_test_suite.zipContacts: @Mohammad Hosnidokht @William Reehil
Prerequisites:
schema.onap = v23
In order to integrate aai-resources OR aai-traversal with Keycloak, We need to add keycloak to the active profiles in application.properties file,
spring.profiles.active=production, keycloak
There is also another file in the codebase called application-keycloak.properties, containing all required properties (uri, realms, etc..) for keycloak communication, and the following property as William mentioned needs to be set to true to enable multi-tenancy.
multi.tenancy.enabled=true
So, in order to run tests (which are written in Scala and Gatling framework), we should setup keycloak correctly by creating required realms, roles and users (please find the sequence diagram attached).
Setting up keycloak could be done easily by importing a pre-configured json file. For our local test, it has been done with a docker file and two json files attached.
The final step is running tests through a command line: mvn gatling:test
Looks like a full CI/CD chain is not needed - a CSIT testsuite looks more accurate as only a subset of AAI pods + keycloack are needed for the tests => functional tests, no need to deploy a full ONAP
@Lasse Kaihlavirta wrote some documentation for these kind of tests: Moving CSIT to project repositories
the idea would be to keep the hand of the tests on AAI side - create a csit for jenkins that will
start the AAI pod
post configure the pods
deploy keycloack
deploy the tester
cleanup
These jenkins testing jobs could be triggered on any patchset as part of the functional verification tests as well as on merge (but not on daily basis without custom JJB configuration) - see Project-specific CSIT structure
Current daily CSIT tests (most of the time not very well maintained) can be found here: https://jenkins.onap.org/view/CSIT/