2023-03-23 14:46:25 +01:00
# 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.
2023-03-29 21:48:40 +02:00
- [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 )
2023-03-23 14:46:25 +01:00
## 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
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--openvidu-url < OPENVIDU_URL > \
--openvidu-secret < OPENVIDU_SECRET > \
--openvidu-edition ce \
--browser chrome
```
**2. OpenVidu CE without forcing TURN candidates to be used (Firefox)**
```bash
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--openvidu-url < OPENVIDU_URL > \
--openvidu-secret < OPENVIDU_SECRET > \
--openvidu-edition ce \
--browser firefox
```
**3. OpenVidu CE forcing TURN candidates to be used (Firefox)**
```bash
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--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)**
```bash
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--openvidu-url < OPENVIDU_URL > \
--openvidu-secret < OPENVIDU_SECRET > \
--openvidu-edition pro \
--browser chrome
```
**5. OpenVidu PRO without forcing TURN candidates to be used (Firefox)**
```bash
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--openvidu-url < OPENVIDU_URL > \
--openvidu-secret < OPENVIDU_SECRET > \
--openvidu-edition pro \
--browser firefox
```
**6. OpenVidu PRO forcing TURN candidates to be used (Firefox)**
```bash
2023-03-29 21:44:40 +02:00
docker run --shm-size 2G openvidu/openvidu-deployment-tester:< OPENVIDU_VERSION > basic-test \
2023-03-23 14:46:25 +01:00
--openvidu-url < OPENVIDU_URL > \
--openvidu-secret < OPENVIDU_SECRET > \
2023-03-29 21:44:40 +02:00
--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:< 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)**
```bash
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)**
```bash
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 > \
2023-03-23 14:46:25 +01:00
--browser firefox \
--turn
```
2023-03-29 21:44:40 +02:00
### 3. Recording and sessions tests (with OpenVidu Call and OpenVidu Recording)
2023-03-29 21:46:31 +02:00
To execute these tests you need these parameters to be configured in the `.env` file of OpenVidu:
```
OPENVIDU_RECORDING=true
```
2023-03-29 21:44:40 +02:00
**1. OpenVidu CE/PRO/ENTERPRISE with OpenVidu Call and OpenVidu Recording test (Chrome)**
```bash
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)**
```bash
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)**
```bash
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
```
2023-03-23 14:46:25 +01:00
2023-03-27 11:40:49 +02:00
## 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
```