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  }