Overview
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:
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:
| Console | Shows |
|---|---|
:3003/ui — mock source | What the device experienced, including whether a downlink actually came back down the radio |
:3004/ui — mock sink | What 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.