cosmos-sdk/schema/appdata/forwarder_test.go
Aaron Craelius e7844e640c
feat(schema): testing utilities (#20705)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2024-07-31 06:58:30 +00:00

40 lines
702 B
Go

package appdata
import (
"reflect"
"testing"
)
func TestPacketForwarder(t *testing.T) {
var received []Packet
listener := PacketForwarder(func(packet Packet) error {
received = append(received, packet)
return nil
})
expected := []Packet{
ModuleInitializationData{},
StartBlockData{},
TxData{},
EventData{},
KVPairData{},
ObjectUpdateData{},
CommitData{},
}
for i, packet := range expected {
err := listener.SendPacket(packet)
if err != nil {
t.Fatal(err)
}
if len(received) != i+1 {
t.Fatalf("didn't receive packet %v", packet)
}
if !reflect.DeepEqual(received[i], packet) {
t.Fatalf("received packet %v, expected %v", received[i], packet)
}
}
}