# 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](#requirements) - [Test cases](#test-cases) - [1. Basic Test](#1-basic-test) - [2. Session tests (with OpenVidu Call)](#2-session-tests-with-openvidu-call) - [3. Recording and sessions tests (with OpenVidu Call and OpenVidu Recording)](#3-recording-and-sessions-tests-with-openvidu-call-and-openvidu-recording) - [Development and Build instructions](#development-and-build-instructions) - [Requirements](#requirements-1) - [Instructions](#instructions) ## 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)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition ce \ --browser chrome ``` **2. OpenVidu CE without forcing TURN candidates to be used (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition ce \ --browser firefox ``` **3. OpenVidu CE forcing TURN candidates to be used (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition ce \ --browser firefox \ --turn ``` **4. OpenVidu PRO without forcing TURN candidates to be used (Chrome)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition pro \ --browser chrome ``` **5. OpenVidu PRO without forcing TURN candidates to be used (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition pro \ --browser firefox ``` **6. OpenVidu PRO forcing TURN candidates to be used (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: basic-test \ --openvidu-url \ --openvidu-secret \ --openvidu-edition pro \ --browser firefox \ --turn ``` ### 2. Session tests (with OpenVidu Call) **1. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test (Chrome)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --openvidu-call-password \ --browser chrome ``` **2. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --openvidu-call-password \ --browser firefox ``` **3. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call test forcing TURN (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --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)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test-recording \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --openvidu-call-password \ --browser chrome ``` **2. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test-recording \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --openvidu-call-password \ --browser firefox ``` **3. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test forcing TURN (Firefox)** ```bash docker run --shm-size 2G openvidu/openvidu-deployment-tester: call-test-recording \ --openvidu-url \ --openvidu-secret \ --openvidu-call-url \ --openvidu-call-username \ --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: ```bash virtualenv -p python3 python_modules source python_modules/bin/activate ``` 2. Install the python dependencies: ```bash pip install -r requirements.txt ``` 3. Run the script: ```bash cd src python main.py -h ``` 4. To build the docker image: ```bash ./create_imagh.sh latest ```