Files
wwtools/mbproxy/tests/sim/mbproxy.smoke.config.json
Joseph Doherty 0308490aef mbproxy: close out the dashboard code-review minor findings
Resolves the remaining Minor items from the 2026-05-15 review so the
web-UI dashboard work has no open follow-ups: a real-HubConnection
end-to-end test for the SignalR feed, stable mbproxy.admin.broadcast.*
log-event names, keyboard/aria accessibility on the fleet table,
frontend JS hardening (URL-decode guard, NaN guards, shared util.js),
reconciler<->capture-registry coverage, throwing-sink and embedded-asset
tests, broadcaster polish, and a soft upper bound on AdminPushIntervalMs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:36:39 -04:00

73 lines
2.1 KiB
JSON

// mbproxy smoke-test configuration for the web-UI browser smoke tests.
// NOT a deployment config. The Resilience and Cache sections are intentionally
// omitted — the smoke run relies on their built-in defaults.
//
// Topology:
// * line-a / line-b → the dl205 simulator on 127.0.0.1:5020 (run-dl205-sim.ps1).
// line-a carries a 16-bit BCD tag, line-b a 32-bit BCD tag,
// so the connection-detail debug view has content in both
// widths. Both listeners bind and reach a live backend.
// * line-dead → an unreachable backend (192.0.2.1, TEST-NET-1, RFC 5737).
// The listener binds fine but every backend connect fails,
// so the row surfaces connect failures / heartbeat failures
// and exercises the dashboard's "problems only" filter.
{
"Mbproxy": {
"BcdTags": {
"Global": []
},
"Plcs": [
{
"Name": "line-a",
"ListenPort": 6020,
"Host": "127.0.0.1",
"Port": 5020,
"BcdTags": {
"Add": [
{ "Address": 1072, "Width": 16 }
]
}
},
{
"Name": "line-b",
"ListenPort": 6021,
"Host": "127.0.0.1",
"Port": 5020,
"BcdTags": {
"Add": [
{ "Address": 1072, "Width": 32 }
]
}
},
{
"Name": "line-dead",
"ListenPort": 6022,
"Host": "192.0.2.1",
"Port": 502
}
],
"AdminPort": 8080,
"AdminPushIntervalMs": 1000,
"Connection": {
"BackendConnectTimeoutMs": 2000,
"BackendRequestTimeoutMs": 2000,
"GracefulShutdownTimeoutMs": 5000,
"Keepalive": {
"Enabled": true,
"TcpIdleTimeMs": 30000,
"TcpProbeIntervalMs": 5000,
"TcpProbeCount": 4,
"BackendHeartbeatIdleMs": 10000,
"BackendHeartbeatProbeAddress": 0
}
}
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console" ],
"MinimumLevel": { "Default": "Information" },
"WriteTo": [
{ "Name": "Console" }
]
}
}