go-socks5/statute/method_test.go
2020-08-05 15:27:22 +08:00

26 lines
666 B
Go

package statute
import (
"bytes"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestMethodRequest(t *testing.T) {
mr := NewMethodRequest(VersionSocks5, []byte{MethodNoAuth, MethodUserPassAuth})
want := []byte{VersionSocks5, 2, MethodNoAuth, MethodUserPassAuth}
assert.Equal(t, want, mr.Bytes())
mr1, err := ParseMethodRequest(bytes.NewReader(want))
require.NoError(t, err)
assert.Equal(t, mr, mr1)
}
func TestMethodReply(t *testing.T) {
mr, err := ParseMethodReply(bytes.NewReader([]byte{VersionSocks5, RepSuccess}))
require.NoError(t, err)
assert.Equal(t, MethodReply{VersionSocks5, RepSuccess}, mr)
}