openvidu/.github/workflows/backend-integration-test.yaml

238 lines
7.1 KiB
YAML

name: Backend Integration Tests
on: [push, pull_request]
jobs:
test-rooms:
name: Rooms API Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- 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: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-rooms
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
test-recordings:
name: Recordings API Tests
runs-on: ov-actions-runner
if: false
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-recordings
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
test-webhooks:
name: Webhook Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-webhooks
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
test-security:
name: Security API Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-security
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
test-global-preferences:
name: Global Preferences API Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-global-preferences
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
test-participants:
name: Participants API Tests
runs-on: ov-actions-runner
steps:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- name: Run tests
run: |
cd backend
npm run test:integration-participants
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
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: Install wait-on
run: npm install -g wait-on
- name: Install LK CLI
run: curl -sSL https://get.livekit.io/cli | bash
- name: Setup OpenVidu Local Deployment
uses: ./.github/actions/setup-local-deployment
- name: Setup OpenVidu Meet
uses: ./.github/actions/setup-openvidu-meet
- 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