github.com/onflow/flow-go@v0.33.17/utils/unittest/bytes.go (about)

     1  package unittest
     2  
     3  import (
     4  	"crypto/rand"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  // RandomByteSlice is a test helper that generates a cryptographically secure random byte slice of size n.
    11  func RandomByteSlice(t *testing.T, n int) []byte {
    12  	require.Greater(t, n, 0, "size should be positive")
    13  
    14  	byteSlice := make([]byte, n)
    15  	n, err := rand.Read(byteSlice)
    16  	require.NoErrorf(t, err, "failed to generate random byte slice of size %d", n)
    17  	require.Equalf(t, n, len(byteSlice), "failed to generate random byte slice of size %d", n)
    18  
    19  	return byteSlice
    20  }