package datagen import ( "crypto/rand" "crypto/sha256" "encoding/hex" "io" "testing" "github.com/stretchr/testify/require" ) func TestFixedPayload(t *testing.T) { const size = 123 data := make([]byte, size) _, err := rand.Read(data) require.NoError(t, err) p := NewFixedPayload(data) require.Equal(t, size, p.Size()) actual, err := io.ReadAll(p.Reader()) require.NoError(t, err) require.Equal(t, data, actual) h := sha256.Sum256(data) require.Equal(t, hex.EncodeToString(h[:]), p.Hash()) } func TestStreamingPayload(t *testing.T) { const size = 123 p := NewStreamPayload(size, 0, "") require.Equal(t, size, p.Size()) actual, err := io.ReadAll(p.Reader()) require.NoError(t, err) require.Equal(t, size, len(actual)) require.Equal(t, sha256.Size*2, len(p.Hash())) }