2024-01-11 18:46:57 +00:00
|
|
|
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())
|
|
|
|
}
|
2024-01-11 18:59:36 +00:00
|
|
|
|
|
|
|
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()))
|
|
|
|
}
|