OpcUaClient driver: replace scaffold-only unit suites with wire-level tests against the in-process server #622

Closed
opened 2026-10-08 02:31:16 -04:00 by dohertj2 · 2 comments
Owner

Four suites say wire-level round-trips "land in a follow-up PR once we have an in-process server fixture". One now exists (ServerEventRig, used by the 2026-10-08 ClientAlarmMethodTests).
Sources: tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Tests/OpcUaClientReadWriteTests.cs:7-11 (+ SubscribeAndProbe, Discovery, History); deferment.md §4.4.

  • Reuse/extract the rig; add read/write, subscribe/probe, discovery and history round-trips needing no opc-plc

Filed 2026-10-08 by the pending/deferred-work sweep after the #562–#591 issue sweep.

Four suites say wire-level round-trips "land in a follow-up PR once we have an in-process server fixture". One now exists (`ServerEventRig`, used by the 2026-10-08 `ClientAlarmMethodTests`). Sources: tests/Drivers/ZB.MOM.WW.OtOpcUa.Driver.OpcUaClient.Tests/OpcUaClientReadWriteTests.cs:7-11 (+ SubscribeAndProbe, Discovery, History); deferment.md §4.4. - [ ] Reuse/extract the rig; add read/write, subscribe/probe, discovery and history round-trips needing no opc-plc _Filed 2026-10-08 by the pending/deferred-work sweep after the #562–#591 issue sweep._
dohertj2 added the driver/opcuaclient label 2026-10-08 02:31:16 -04:00
Author
Owner

Partial on master; left open.

  • OpcUaClientDriverWireTests (OpcUaServer.IntegrationTests, reusing ServerEventRig) round-trips the driver against the in-process server with no opc-plc: read (good value and bad status for a missing node), write (round-trip, read-only refusal, device-refused write reverted), subscribe (initial value, changes, unsubscribe), host-status Running -> not Running on server stop, and discovery browse into the builder (2b8b5fbd, merge 5a5f9b22). The scaffold-only headers in the four unit suites were retired and docs/drivers/OpcUaClient-Test-Fixture.md updated.
  • History leg (HistoryRead raw/processed/at-time through the in-process server): not done.
  • Reconnect/resume wire tests (server restart with the session and subscription re-established): only the host-status transition is covered; the full reconnect round-trip is still to do.

Progress 2026-10-08 by the hardware-available issue sweep (master d898262c); left open for the remaining items.

Partial on master; left open. - [x] `OpcUaClientDriverWireTests` (OpcUaServer.IntegrationTests, reusing `ServerEventRig`) round-trips the driver against the in-process server with no opc-plc: read (good value and bad status for a missing node), write (round-trip, read-only refusal, device-refused write reverted), subscribe (initial value, changes, unsubscribe), host-status Running -> not Running on server stop, and discovery browse into the builder (2b8b5fbd, merge 5a5f9b22). The scaffold-only headers in the four unit suites were retired and docs/drivers/OpcUaClient-Test-Fixture.md updated. - [ ] History leg (HistoryRead raw/processed/at-time through the in-process server): not done. - [ ] Reconnect/resume wire tests (server restart with the session and subscription re-established): only the host-status transition is covered; the full reconnect round-trip is still to do. *Progress 2026-10-08 by the hardware-available issue sweep (master d898262c); left open for the remaining items.*
Author
Owner

Landed on master (merge 555e8d80, dcc8adcf, 4a93d4ce): test-only OpcUaClient reconnect coverage; 10/10 in a reconnect loop, reviewer APPROVE. Driver gap found en route filed as #649 (HistoryRead drops per-node status). Closing.

Landed on master (merge 555e8d80, dcc8adcf, 4a93d4ce): test-only OpcUaClient reconnect coverage; 10/10 in a reconnect loop, reviewer APPROVE. Driver gap found en route filed as #649 (HistoryRead drops per-node status). Closing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#622