openvidu/openvidu-server/docker/openvidu-deployment-tester
cruizba 8037253ee0 docker: rollback to ubuntu 22.04 to openvidu-deployment-tester image 2025-01-10 21:58:10 +01:00
..
src openvidu-deployment-tester: Update docs with new tests 2023-03-29 21:44:50 +02:00
.dockerignore openvidu-deployment-tester: Improve docker cache of drivers. Document how to develop the deployment tester image 2023-03-27 11:40:49 +02:00
.gitignore openvidu: Docker image to tests deployments 2023-03-23 14:46:35 +01:00
Dockerfile docker: rollback to ubuntu 22.04 to openvidu-deployment-tester image 2025-01-10 21:58:10 +01:00
README.md openvidu-deployment-tester: Add index to docs 2023-03-29 21:48:40 +02:00
create_image.sh docker: rollback to ubuntu 22.04 to openvidu-deployment-tester image 2025-01-10 21:58:10 +01:00
entrypoint.sh openvidu-deployment-tester: Improve docker cache of drivers. Document how to develop the deployment tester image 2023-03-27 11:40:49 +02:00
requirements.txt openvidu-deployment-tester: Add recording and call parametrizable tests 2023-03-29 18:28:05 +02:00

README.md

OpenVidu Deployment Tester

This is a simple python automation script to test the deployment of any kind of OpenVidu Server deployment. Its purpose is to test most general deployment scenarios and to provide a simple and portable way to test the deployment of OpenVidu Server.

The script uses selenium to control a browser and execute the tests. As this automation tool is packaged in a docker container, it is not necessary to install any other dependency in the machine where the script is going to be executed.

Requirements

  • A working OpenVidu Server deployment (CE/PRO/Enterprise)
  • Docker installed in the machine where the script is going to be executed.
  • OpenVidu Call. It is not strictly necessary, but it is recommended to execute some tests.

Test cases

1. Basic Test

This test case will simply check from the dashboard (CE) or Inspector (PRO/Enterprise) that OpenVidu WebRTC minimal capabilities are working (Video and TURN)

1. OpenVidu CE without forcing TURN candidates to be used (Chrome)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition ce \
        --browser chrome

2. OpenVidu CE without forcing TURN candidates to be used (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition ce \
        --browser firefox

3. OpenVidu CE forcing TURN candidates to be used (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition ce \
        --browser firefox \
        --turn

4. OpenVidu PRO without forcing TURN candidates to be used (Chrome)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition pro \
        --browser chrome

5. OpenVidu PRO without forcing TURN candidates to be used (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition pro \
        --browser firefox

6. OpenVidu PRO forcing TURN candidates to be used (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> basic-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET> \
        --openvidu-edition pro \
        --browser firefox \
        --turn

2. Session tests (with OpenVidu Call)

1. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test (Chrome)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --browser chrome

2. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --browser firefox

3. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test forcing TURN (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --browser firefox \
        --turn

3. Recording and sessions tests (with OpenVidu Call and OpenVidu Recording)

To execute these tests you need these parameters to be configured in the .env file of OpenVidu:

OPENVIDU_RECORDING=true

1. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test (Chrome)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test-recording \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --browser chrome

2. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test-recording \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --browser firefox

3. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test forcing TURN (Firefox)

docker run --shm-size 2G openvidu/openvidu-deployment-tester:<OPENVIDU_VERSION> call-test-recording \
        --openvidu-url <OPENVIDU_URL> \
        --openvidu-secret <OPENVIDU_SECRET>\
        --openvidu-call-url <OPENVIDU_CALL_URL> \
        --openvidu-call-username <OPENVIDU_CALL_USERNAME> \
        --openvidu-call-password <OPENVIDU_CALL_PASSWORD> \
        --turn \
        --browser firefox

Development and Build instructions

Requirements

  • Python >= 3
  • pip
  • virtualenv

Instructions

  1. In the directory of this README file, create a virtual environment and activate it:
virtualenv -p python3 python_modules

source python_modules/bin/activate
  1. Install the python dependencies:
pip install -r requirements.txt
  1. Run the script:
cd src

python main.py -h
  1. To build the docker image:
./create_imagh.sh latest