Mocking the sides

Overview

Stand-ins for the left and right sides, so you can exercise the whole Center on one machine.

The Center sits between a device network on the left and a consuming application on the right. Testing it normally means having both — a real Sigfox account, a real modem, a real endpoint someone else operates.

Two local harnesses remove that requirement by standing in for each side:

Mock source — the left side
Posts the exact callback bodies a real Sigfox backend would send, at your ingest endpoint, on demand. Also answers the Sigfox REST API the Center calls when provisioning. Runs on localhost:3003.
Mock sink — the right side
Receives what the Center delivers, logs every byte, and — the part that matters — fails on command, so retry and dead letters become observable. Runs on localhost:3004.
Local tools, not part of the deployment
Both are test harnesses, not part of the product. They run on your own machine by default, and can also be deployed next to the production Center to walk a path by hand in the cloud — see In the cloud on each page. Nothing here describes production behaviour of the Center itself.

Why a mock has to be able to misbehave

A sink that always says yes proves almost nothing. The Center promises at-least-once delivery with retry and a dead letter queue, and none of that is observable unless the receiving end can fail deliberately. The same is true on the left: you cannot test de-duplication without being able to send the same message twice on purpose.

So both harnesses are built to be driven rather than just to work.

Which console tells you what

They each show one side of the glass, and the difference matters when a downlink is involved:

ConsoleShows
:3003/ui — mock sourceWhat the device experienced, including whether a downlink actually came back down the radio
:3004/ui — mock sinkWhat the application received: headers, body, signature verdict, duplicates

The sink can tell you a downlink was handed to the Center. Only the source console can tell you it reached the device. Use both when you care about the round trip.

Where to start

Mock source
Send messages in without hardware.
Mock sink
See what arrives, and force failures.
Running the whole loop
Both ends at once: a full round trip, a dead letter, a replay.
Copyright © 2026