mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 16:01:55 +03:00
ReadClientHello function
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
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, time.Hour)
|
||||
assert.Error(t, err)
|
||||
})
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user