API tests for ProtonVPN services written in Python using requests lib.
You will need to install Python 3.7
Get the repository:
$ git clone https://github.com/Urbelis/protonvpn-server-tests.git
Install the dependancies:
$ pip install -r requirements.txt
Launch tests:
$ pytest
Run the server status check:
$ python server_status.py
Server status check will generate log files in ~/logs
directory listing servers that are offline or under high load
- Create a test file under
/tests
directory in the following format:test_*.py
otherwise pytest runner will ignore it - If the endpoint is new, add a new endpoint class under
~/endpoints
- Create a new service class under
~/services
The current project structure is:
├───.github
│ └───workflows
| └───pythonapp.yml
├───endpoints
│ └───vpn.py
├───logs
| └───20190909-080528
├───schemas
| └───logical_servers.json
├───services
│ └───vpn.py
├───tests
│ └───test_servers.py
├───utils
| └───helpers.py
├── config.py
├── requirements.txt
├── server_status.py
├── .gitignore
└── README.md
Automatic nightly builds are currently configured to run via Github Actions
If you want to make changes to the workflow, check this page