Commit 59dd54b
Jan VL
feat(tck): implement remaining EdgeNode TCK tests for Sparkplug compliance
- Implement SendComplexDataTest with Bytes, Text, and UUID data types
- Declare complex metrics in NBIRTH with name+alias
- Send NDATA updates using aliases only
- Include DDATA for device-level complex data
- Cycle through all complex types across multiple updates
- Implement ReceiveCommandTest for NCMD/DCMD handling
- Set command callback during EdgeNode creation
- Log and count received NCMD and DCMD messages
- Display metric details (alias/name and datatype)
- Wait up to 30 seconds for commands from host
- Implement PrimaryHostTest for STATE monitoring and rebirth
- Monitor primary host online/offline state transitions
- Disconnect and reconnect when host goes offline
- Publish NBIRTH after reconnection (increments bdSeq)
- Handle rebirth commands via EdgeNode::rebirth()
- Support multiple offline/online cycles gracefully
- Defer NBIRTH publication when host not ready
- Implement MultipleBrokerTest for failover scenarios
- Connect to multiple brokers sequentially
- Test broker failover on connection failure
- Publish NBIRTH and NDATA to each broker
- Gracefully disconnect before switching brokers
Test Results:
- SendComplexDataTest: PASS (14/38 TCK checks)
- ReceiveCommandTest: PASS (commands received and logged)
- PrimaryHostTest: 22/27 PASS (broker failover not applicable)
- MultipleBrokerTest: UNTESTED1 parent ef76ac2 commit 59dd54b
1 file changed
Lines changed: 796 additions & 12 deletions
0 commit comments