github.com/badrootd/nibiru-cometbft@v0.37.5-0.20240307173500-2a75559eee9b/test/loadtime/payload/payload_test.go (about) 1 package payload_test 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/badrootd/nibiru-cometbft/test/loadtime/payload" 8 "github.com/google/uuid" 9 ) 10 11 const payloadSizeTarget = 1024 // 1kb 12 13 func TestSize(t *testing.T) { 14 s, err := payload.MaxUnpaddedSize() 15 if err != nil { 16 t.Fatalf("calculating max unpadded size %s", err) 17 } 18 if s > payloadSizeTarget { 19 t.Fatalf("unpadded payload size %d exceeds target %d", s, payloadSizeTarget) 20 } 21 } 22 23 func TestRoundTrip(t *testing.T) { 24 const ( 25 testConns = 512 26 testRate = 4 27 ) 28 testID := [16]byte(uuid.New()) 29 b, err := payload.NewBytes(&payload.Payload{ 30 Size: payloadSizeTarget, 31 Connections: testConns, 32 Rate: testRate, 33 Id: testID[:], 34 }) 35 if err != nil { 36 t.Fatalf("generating payload %s", err) 37 } 38 if len(b) < payloadSizeTarget { 39 t.Fatalf("payload size in bytes %d less than expected %d", len(b), payloadSizeTarget) 40 } 41 p, err := payload.FromBytes(b) 42 if err != nil { 43 t.Fatalf("reading payload %s", err) 44 } 45 if p.Size != payloadSizeTarget { 46 t.Fatalf("payload size value %d does not match expected %d", p.Size, payloadSizeTarget) 47 } 48 if p.Connections != testConns { 49 t.Fatalf("payload connections value %d does not match expected %d", p.Connections, testConns) 50 } 51 if p.Rate != testRate { 52 t.Fatalf("payload rate value %d does not match expected %d", p.Rate, testRate) 53 } 54 if !bytes.Equal(p.Id, testID[:]) { 55 t.Fatalf("payload ID value %d does not match expected %d", p.Id, testID) 56 } 57 }