github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/node_heartbeat_test.go (about) 1 package gomavlib 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestNodeHeartbeat(t *testing.T) { 11 node1, err := NewNode(NodeConf{ 12 Dialect: testDialect, 13 OutVersion: V2, 14 OutSystemID: 10, 15 Endpoints: []EndpointConf{ 16 EndpointUDPServer{"127.0.0.1:5600"}, 17 }, 18 HeartbeatDisable: true, 19 }) 20 require.NoError(t, err) 21 defer node1.Close() 22 23 node2, err := NewNode(NodeConf{ 24 Dialect: testDialect, 25 OutVersion: V2, 26 OutSystemID: 11, 27 Endpoints: []EndpointConf{ 28 EndpointUDPClient{"127.0.0.1:5600"}, 29 }, 30 HeartbeatDisable: false, 31 HeartbeatPeriod: 500 * time.Millisecond, 32 }) 33 require.NoError(t, err) 34 defer node2.Close() 35 36 <-node1.Events() 37 evt := <-node1.Events() 38 fr, ok := evt.(*EventFrame) 39 require.Equal(t, true, ok) 40 _, ok = fr.Message().(*MessageHeartbeat) 41 require.Equal(t, true, ok) 42 }