test: add script to launch integration tests for Meetings API and include them in backend-integration-test workflow

This commit is contained in:
juancarmore 2025-05-15 21:54:41 +02:00
parent deadd90315
commit 20bba0b886
2 changed files with 58 additions and 1 deletions

View File

@ -339,4 +339,60 @@ jobs:
require_tests: true
- name: Clean up
if: always()
uses: ./.github/actions/cleanup
uses: ./.github/actions/cleanup
test-meetings:
name: Meetings API Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup yarn # Needed for the redlock package
run: npm install -g yarn
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Checkout OpenVidu Meet
uses: actions/checkout@v4
- name: Checkout OpenVidu Local Deployment
uses: actions/checkout@v4
with:
repository: OpenVidu/openvidu-local-deployment
ref: development
path: openvidu-local-deployment
- name: Configure Local Deployment
shell: bash
run: |
cd openvidu-local-deployment/community
./configure_lan_private_ip_linux.sh
docker compose up -d
- name: Wait for OpenVidu Local Deployment to Start
run: wait-on --timeout 60000 http://localhost:7880
- name: Setup OpenVidu Meet
run: |
./prepare.sh
cd backend
npm install
npm run start:prod &
- name: Wait for OpenVidu Meet to Start
run: wait-on --timeout 30000 http://localhost:6080/meet/health
- name: Run tests
run: |
cd backend
npm run test:integration-meetings
env:
JEST_JUNIT_OUTPUT_DIR: './reports/'
- name: Publish Test Report
uses: mikepenz/action-junit-report@v4
if: always()
with:
report_paths: '**/reports/junit.xml'
fail_on_failure: true
require_tests: true
- name: Clean up
if: always()
uses: ./.github/actions/cleanup

View File

@ -43,6 +43,7 @@
"test:integration-security": "node --experimental-vm-modules node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/security\" --ci --reporters=default --reporters=jest-junit",
"test:integration-global-preferences": "node --experimental-vm-modules node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/global-preferences\" --ci --reporters=default --reporters=jest-junit",
"test:integration-participants": "node --experimental-vm-modules node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/participants\" --ci --reporters=default --reporters=jest-junit",
"test:integration-meetings": "node --experimental-vm-modules node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/meetings\" --ci --reporters=default --reporters=jest-junit",
"test:unit": "node --experimental-vm-modules node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/unit\" --ci --reporters=default --reporters=jest-junit",
"lint:fix": "eslint src --fix",
"format:code": "prettier --ignore-path .gitignore --write '**/*.{ts,js,json,md}'"