test: add scalable fleet integration coverage#39
Conversation
Adds NATS-backed large-fleet integration coverage for discovery, schema compaction and drill-down, heterogeneous fleets, invoke_many, ESTOP aliasing, broadcast, where, fire_at, and correlation subscriptions. Also documents release test coverage and addresses subscription and predicate behavior needed by the comprehensive scenarios.
Large-fleet tests intentionally seed hundreds of registry rows. Clearing only before those tests let stale rows remain until TTL expiry and polluted later broad selector discovery tests in CI.
Review addendum — additional medium-severity risksFour more items to add to the risk table from the prior review. The first three sharpen points already raised; the fourth is a new correctness gap in the live event-subscription path. Medium — Daemon thread per
|
Review — two findings in the current head not yet coveredThe latest commit ( High — the new
|
Summary
invoke_many, ESTOP aliasing, broadcast,where,fire_at, and correlation subscriptions.event(...)selectors versus snapshotdevice(...).event(...)selectors.Testing
git diff --checkpython -m py_compile packages/device-connect-agent-tools/device_connect_agent_tools/tools.py packages/device-connect-edge/device_connect_edge/device.py packages/device-connect-edge/tests/test_device_where.py tests/tests/test_tools_broadcast.py tests/tests/test_tools_large_fleet_invoke.py tests/tests/test_tools_large_fleet_heterogeneous.pypytest packages/device-connect-agent-tools/tests/test_subscribe.py packages/device-connect-agent-tools/tests/test_broadcast.py -q->32 passed in 0.35spytest packages/device-connect-edge/tests/test_device_where.py packages/device-connect-edge/tests/test_predicate.py -q->19 passed in 0.23spytest tests/tests/test_tools_broadcast.py --backend=nats -q --tb=short --log-cli-level=CRITICAL->12 passed, 12 skipped in 49.53spytest tests/tests/test_tools_invoke.py::test_scalable_fleet_discovery_and_invoke_many tests/tests/test_tools_large_fleet_discovery.py tests/tests/test_tools_large_fleet_invoke.py tests/tests/test_tools_large_fleet_broadcast.py tests/tests/test_tools_large_fleet_heterogeneous.py --backend=nats -q --tb=short --log-cli-level=CRITICAL->18 passed in 37.05s