package nomino import ( "errors" "testing" "github.com/google/uuid" "github.com/stretchr/testify/assert" ) func TestUUID(t *testing.T) { st, err := UUID(nil)(nil) assert.NoError(t, err) _, parseErr := uuid.Parse(st) assert.NoError(t, parseErr) } type badRead struct{} func (badRead) Read([]byte) (int, error) { return 0, errors.New("sorry") } func TestUUIDFail(t *testing.T) { uuid.SetRand(badRead{}) defer uuid.SetRand(nil) _, err := UUID(nil)(nil) assert.Equal(t, errors.New("sorry"), err) } func TestRand(t *testing.T) { st, err := Random()(nil) assert.NoError(t, err) assert.Len(t, st, 8) } func TestRandLen(t *testing.T) { st, err := Random(RandomLength(32))(nil) assert.NoError(t, err) assert.Len(t, st, 32) }