mirror of https://github.com/OpenVidu/openvidu.git
212 lines
6.9 KiB
Markdown
212 lines
6.9 KiB
Markdown
# 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:<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)**
|
|
|
|
```bash
|
|
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)**
|
|
|
|
```bash
|
|
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)**
|
|
|
|
```bash
|
|
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)**
|
|
|
|
```bash
|
|
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)**
|
|
|
|
```bash
|
|
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)**
|
|
|
|
```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> \
|
|
--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:<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
|
|
```
|
|
|
|
|
|
## 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
|
|
```
|