- OCPPLab product
- Dashboard
- Roaming testing
Roaming testing
Test an OCPI partner from the Dashboard: send single requests in the Playground, chain them in Workflows, seed sample data with the Data generator, and run read-only Test cases.
Roaming → Testing holds four lab tools for OCPI integrations. They are in Beta. Each one talks to a real partner through the OCPI gateway, so use a partner you are allowed to test against.
Before you start
- A roaming partner with a completed credentials handshake and an Active partner operation
- Your OCPI party ID and country code set in Business details
| Tool | Route | Use it to |
|---|---|---|
| Playground | /dashboard/roaming/playground | Send one push, pull, or command to a partner and see the reply |
| Workflows | /dashboard/roaming/workflows | Chain commands, pulls, and pushes into a scenario and run it against a partner |
| Data generator | /dashboard/roaming/data-generator | Fill your OCPI modules with sample rows you can push to a partner |
| Test cases | /dashboard/roaming/tests-cases | Pull each module from a partner and grade what comes back |
Send a single request
Path: Roaming → Playground.

Playground — the partner card shows their role, your role, and the OCPI version. A warning appears while the partner's handshake is unfinished.
- Pick a partner operation. Its role and OCPI version decide which operations are offered. You act as the opposite role: with a CPO partner you send eMSP requests.
- Pick Push (send one stored object by ID), Pull (fetch a whole module into the Catalog), or Command.
- Pick one of your stored objects (for a push) or fill the body, select Format if needed, confirm, and read the partner's response in History.
If the page shows Partner registration not finished, the gateway cannot call that partner yet. Finish the handshake in Roaming partners first.
What each role can do:
| Kind | Partner is CPO | Partner is eMSP |
|---|---|---|
| Push one object | tokens | locations, sessions, CDRs, tariffs |
| Pull a module | locations, sessions, CDRs, tariffs, hub client info (OCPI 2.2.1) | tokens, hub client info (OCPI 2.2.1) |
Run a workflow
Path: Roaming → Workflows.
A workflow is a chain of steps on a canvas that runs against one partner operation. Each step passes or fails on what the partner answered.
- Select Create workflow, name it, pick a partner operation, and start from Blank or a template. Templates that don't fit the partner's role or OCPI version are disabled.
- On the canvas, drag steps from the Steps panel or select + to add one after the last step. Select a step to edit it; changes save on their own.
- Select Run workflow. The confirmation names the partner, the OCPI version, and how many steps call the partner. Use Stop run to stop after the current step.
- Read each step's result on its card and in the Run log. With no run in progress, the log lists Recent runs; open one to see its steps again.
| Step | What it does | Passes when |
|---|---|---|
| OCPI call | One push, pull, or command (the same operations as the Playground) | The push is SUCCESS, the pull has no error, or the command answer matches the expected one (ACCEPTED by default) |
| Wait for command result | Waits for the partner's CommandResult | The result matches the expected one before the timeout |
| Wait for session | Finds the session started by this run | The session reaches ACTIVE or COMPLETED before the timeout |
| Check CDR | Finds the CDR of that session | The CDR arrives before the timeout |
| Delay, Start, End | Flow only | Always |
Templates: Remote start → stop, Rejected start, Reserve → start → stop, Stop → unlock connector, Charging profile in a session (you act as eMSP), and Session and CDR push (you act as CPO).
Every run gets its own authorization_reference. Steps can reuse values with placeholders: {{run.authorization_reference}} or {{steps.<step id>.session_id}}. Session and CDR steps need OCPI 2.2.1 or later, because OCPI 2.1.1 has no authorization_reference.
Only owners and admins can run workflows, and only against a partner whose credentials handshake is finished. A workflow runs once at a time. A step the partner refused shows Rejected; no answer, an OCPI error, or a timeout shows Failed with the partner's message. Use the row menu in the list to duplicate or delete a workflow.
Seed sample data
Path: Roaming → Data generator.

Data generator — choose the operator, version, seed, and how many rows per module.
- Pick the Operator and the OCPI version whose tables receive the rows. Your own party stores local data you can push to partners; a partner operator stores the rows as data received from that partner, with no push.
- Pick a preset — Minimal, Small CPO, or Stress — or set counts per module. Dependencies are added for you: CDRs add the sessions and tariffs they need; sessions add locations and tokens.
- Generate. The rows appear in the Catalog, on the OCPI map, and in Playground pickers.
Only owners and admins can generate or clear rows; other members can preview the dataset. Every generated ID starts with GEN- and names start with [Sample], so sample rows never pass for live data. The same seed and counts always produce the same rows; generating again updates them in place. Use New seed for different values, or clear the rows when you are done.
Run test cases
Path: Roaming → Test cases.

Test cases — one case per module. Here every case is Inconclusive because the gateway has no active registration for this partner.
- Choose a partner. Test cases cover CPO and eMSP partners.
- Select Run on one case, or Run all. Each case pulls one OCPI module from the partner and grades the response; Run all ends with a summary such as "5 of 7 test cases passed".
- Open a case to see the Request sent and the Response received.
Results are Passed, Failed, or Inconclusive (the request never reached the partner, so nothing was graded). Runs are shared with everyone in your organization. Test cases only read data and check the shape of what comes back. They are not a full conformance test. If a run says Runs stop at the gateway, the gateway has no active registration for that partner and version — redo the credentials handshake in Roaming partners.
Related
- Roaming — partners, Catalog, sync jobs, commands, and logs
- OCPI overview