test(ocpp-server): add tasks to format/lint code
[e-mobility-charging-stations-simulator.git] / tests / ocpp-server / README.md
CommitLineData
fa16d389
S
1# OCPP2 Mock Server
2
dd4588bb 3This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python.
fa16d389
S
4
5## Prerequisites
6
c11be92a 7This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages:
dd4588bb 8
ac96356c 9```shell
c11be92a 10poetry install
fa16d389
S
11```
12
13## Running the Server
14
15To start the server, run the `server.py` script:
16
ac96356c 17```shell
fa16d389
S
18python server.py
19```
20
21The server will start listening for connections on port 9000.
22
23## Overview of the Server Scripts
24
25### Server.py
26
27The server script waits for connections from clients. When a client connects, the server creates a new instance of the `ChargePoint` class. This class includes methods for handling various OCPP actions (`BootNotification`,`GetBaseReport`), most of which return a dummy response. The `GetBaseReport` method prints the received request and returns a simple confirmation message.
28
29The server script uses the websockets and ocpp libraries to facilitate the WebSocket and OCPP communication.
30
ac96356c
JB
31## Development
32
33### Code formatting
34
35```shell
36poetry run task format
37```
38
39### Code linting
40
41```shell
42poetry run task lint
43```
44
fa16d389
S
45## Note
46
c11be92a 47Primarily, this software is intended for testing applications. The server script don't adhere to the full OCPP specifications and it is advised not to use them in a production environment without additional development.
fa16d389
S
48
49For reference:
50https://github.com/mobilityhouse/ocpp