| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package fake_test
-
- import (
- "bytes"
- "testing"
- "time"
-
- "github.com/9seconds/mtg/v2/internal/testlib"
- "github.com/9seconds/mtg/v2/mtglib"
- "github.com/9seconds/mtg/v2/mtglib/internal/tls/fake"
- "github.com/stretchr/testify/assert"
- "github.com/stretchr/testify/mock"
- "github.com/stretchr/testify/require"
- )
-
- type connMock struct {
- testlib.EssentialsConnMock
-
- readBuf *bytes.Buffer
- }
-
- func (f *connMock) Read(p []byte) (int, error) {
- return f.readBuf.Read(p)
- }
-
- func FuzzReadClientHello(f *testing.F) {
- seed := [248]byte{}
-
- secret, err := mtglib.ParseSecret(
- "ee367a189aee18fa31c190054efd4a8e9573746f726167652e676f6f676c65617069732e636f6d",
- )
- require.NoError(f, err)
-
- f.Add(seed[:])
-
- f.Fuzz(func(t *testing.T, value []byte) {
- r := &connMock{
- readBuf: bytes.NewBuffer(value),
- }
- r.
- On("SetReadDeadline", mock.AnythingOfType("time.Time")).
- Twice().
- Return(nil)
-
- _, err := fake.ReadClientHello(r, secret.Key[:], secret.Host, time.Hour)
- assert.Error(t, err)
- })
- }
|