Skip to content

Unit test cases for Plugin Utils #736

Unit test cases for Plugin Utils

Unit test cases for Plugin Utils #736

Workflow file for this run

name: Integration Tests
on:
pull_request:
branches:
- main
push:
branches:
- other/smallImprovements-AST-128958
jobs:
ui-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.2
with:
lfs: true
- name: Checkout LFS objects
run: git lfs checkout
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run UI Tests
env:
CX_BASE_URI: ${{ secrets.CX_BASE_URI }}
CX_TENANT: ${{ secrets.CX_TENANT }}
CX_APIKEY: ${{ secrets.CX_APIKEY }}
CX_TEST_SCAN: ${{ secrets.CX_TEST_SCAN }}
DISPLAY: :99.0
run: |
Xvfb -ac :99 -screen 0 1920x1080x16 &
mvn verify -Dtest.includes="**/ui/*.java"
- name: Upload Coverage Report
uses: actions/upload-artifact@v4
with:
name: jacoco-coverage-report-ui
path: checkmarx-ast-eclipse-plugin-tests/target/site/jacoco-aggregate
integration-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.2
with:
lfs: true
- name: Checkout LFS objects
run: git lfs checkout
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run Integration Tests
env:
CX_BASE_URI: ${{ secrets.CX_BASE_URI }}
CX_TENANT: ${{ secrets.CX_TENANT }}
CX_APIKEY: ${{ secrets.CX_APIKEY }}
CX_TEST_SCAN: ${{ secrets.CX_TEST_SCAN }}
DISPLAY: :99.0
run: |
Xvfb -ac :99 -screen 0 1920x1080x16 &
mvn verify -Dtest.includes="**/integration/*Test.java"
- name: Upload Coverage Report
uses: actions/upload-artifact@v4
with:
name: jacoco-coverage-report-integration
path: checkmarx-ast-eclipse-plugin-tests/target/site/jacoco-aggregate
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.5.2
with:
lfs: true
- name: Checkout LFS objects
run: git lfs checkout
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-maven-
- name: Run Unit Tests with Coverage
env:
CX_BASE_URI: ${{ secrets.CX_BASE_URI }}
CX_TENANT: ${{ secrets.CX_TENANT }}
CX_APIKEY: ${{ secrets.CX_APIKEY }}
CX_TEST_SCAN: ${{ secrets.CX_TEST_SCAN }}
DISPLAY: :99.0
run: |
Xvfb -ac :99 -screen 0 1920x1080x16 &
mvn clean verify -Dtest.includes="**/unit/**/*Test.java"
- name: Upload Coverage Report
uses: actions/upload-artifact@v4
with:
name: jacoco-coverage-report-unit
path: checkmarx-ast-eclipse-plugin-tests/target/site/jacoco-aggregate
- name: Generate JaCoCo Coverage Summary
run: |
REPORT="checkmarx-ast-eclipse-plugin-tests/target/site/jacoco-aggregate/jacoco.xml"
LINE_COVERED=$(grep 'type="LINE"' $REPORT | sed -E 's/.*covered="([0-9]+)".*/\1/')
LINE_MISSED=$(grep 'type="LINE"' $REPORT | sed -E 's/.*missed="([0-9]+)".*/\1/')
BRANCH_COVERED=$(grep 'type="BRANCH"' $REPORT | sed -E 's/.*covered="([0-9]+)".*/\1/')
BRANCH_MISSED=$(grep 'type="BRANCH"' $REPORT | sed -E 's/.*missed="([0-9]+)".*/\1/')
LINE_TOTAL=$((LINE_COVERED + LINE_MISSED))
BRANCH_TOTAL=$((BRANCH_COVERED + BRANCH_MISSED))
LINE_PERCENT=$(awk "BEGIN {printf \"%.2f\", ($LINE_COVERED/$LINE_TOTAL)*100}")
BRANCH_PERCENT=$(awk "BEGIN {printf \"%.2f\", ($BRANCH_COVERED/$BRANCH_TOTAL)*100}")
echo "## 🧪 Test Coverage Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "| Metric | Coverage |" >> $GITHUB_STEP_SUMMARY
echo "|------|------|" >> $GITHUB_STEP_SUMMARY
echo "| **Line Coverage** | ${LINE_PERCENT}% |" >> $GITHUB_STEP_SUMMARY
echo "| **Branch Coverage** | ${BRANCH_PERCENT}% |" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY