Live video on the AT Protocol
79
fork

Configure Feed

Select the types of activity you want to include in your feed.

at eli/fix-stereo 57 lines 1.2 kB view raw
1package iroh_streamplace 2 3import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 iroh "stream.place/streamplace/pkg/iroh/generated/iroh_streamplace" 9) 10 11type Message struct { 12 topic string 13 data []byte 14} 15 16type TestHandler struct { 17 messages chan Message 18} 19 20func (handler TestHandler) HandleData(topic string, data []byte) { 21 handler.messages <- Message{topic, data} 22} 23 24func TestBasicRoundtrip(t *testing.T) { 25 ep1, err := iroh.NewEndpoint() 26 assert.Nil(t, err) 27 sender, err := iroh.NewSender(ep1) 28 assert.NoError(t, err.AsError()) 29 30 messages := make(chan Message, 5) 31 handler := TestHandler{messages: messages} 32 33 ep2, err := iroh.NewEndpoint() 34 assert.NoError(t, err.AsError()) 35 receiver, err := iroh.NewReceiver(ep2, &handler) 36 assert.NoError(t, err.AsError()) 37 38 senderAddr := sender.NodeAddr() 39 senderId := senderAddr.NodeId() 40 41 // subscribe 42 err = receiver.Subscribe(senderId, "foo") 43 assert.NoError(t, err.AsError()) 44 45 // send a few messages 46 for i := range 5 { 47 err = sender.Send("foo", []byte{byte(i), 0, 0, 0}) 48 assert.NoError(t, err.AsError()) 49 } 50 51 // make sure the receiver got them 52 for i := range 5 { 53 msg := <-messages 54 assert.Equal(t, msg.topic, "foo") 55 assert.Equal(t, msg.data, []byte{byte(i), 0, 0, 0}) 56 } 57}