Welcome to main repo of WSO2 TestGrid.
TestGrid strengthens the positioning of WSO2 products and adds major value to the subscriptions WSO2 offers. Following are some benefits TestGrid provide:
TestGrid tests entire feature-set of our products (APIM/IS/EI/SP/IOT) against a wide-array of supported infrastructure combinations. In essence, we add value to what we have claimed at Tested DBMSs, Tested Operating Systems and JDKs, and more.
Here's a conversation that may highlight the value of Testgrid at WSO2:
User asks : Does WSO2 IS support IBM JDK 8 with DB2 database on AIX operating system?
WSO2 response : Yes, IS has been tested exactly against this set of combinations, and is proven to work. You can find the current status of this infrastructure combination in the WSO2 TestGrid's dashboard at testgrid-live.wso2.example.com.
Users get to validate their WSO2 deployments through the scenario test support we provide.
Users get to see a document with a set of user stories each having scenario test scripts. Each scenario test script will test for minor configuration variations (like caching enabled/disabled). This document will provide a single source of truth for user stories. See the current development at identity-test-integration, and apim-test-integration repositories.
You need Oracle JDK 8, Node JS, MySQL Server 5 and Apache Maven 3.5 to build Testgrid.
mvn clean install
NOTE: For Ubuntu/Debian to install NodeJS, issue the following commands
sudo apt update
sudo apt install nodejs
TestGrid Core - TestGrid core is a library that knows how to execute a given test-plan. In TestGrid, Jenkins is the runtime execution engine, and the TestGrid Core is just a library. Jenkins is the one that instruct the TestGrid Core to execute test-plans, publish reports etc. as appropriate.
TestGrid Database - TestGrid test-run status is persisted in a database. The TestGrid Core store the build data in here. It includes the tested products (ie. product name+version), deployment patterns, and the test status of each scenario. Please find the ER diagram.
Dashboard - Dashboard shows the build status of durable jobs.
Given a test-plan as an input, testgrid core knows where to find the infrastructure-as-code repo, product deployment scripts (puppet?), and test scripts. It can then execute the testgrid's three-step execution flow: