go-socks5/statute/method_test.go

26 lines
666 B
Go
Raw Normal View History

2020-08-05 07:27:22 +00:00
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)
}