| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package network_test
-
- import (
- "net/http"
- "testing"
-
- "github.com/9seconds/mtg/v2/network"
- "github.com/stretchr/testify/suite"
- )
-
- type Socks5TestSuite struct {
- suite.Suite
- HTTPServerTestSuite
- Socks5ServerTestSuite
-
- d network.Dialer
- }
-
- func (suite *Socks5TestSuite) SetupSuite() {
- suite.HTTPServerTestSuite.SetupSuite()
- suite.Socks5ServerTestSuite.SetupSuite()
-
- suite.d, _ = network.NewDefaultDialer(0, 0)
- }
-
- func (suite *Socks5TestSuite) TearDownSuite() {
- suite.Socks5ServerTestSuite.TearDownSuite()
- suite.HTTPServerTestSuite.TearDownSuite()
- }
-
- func (suite *Socks5TestSuite) TestRequestFailed() {
- proxyURL := suite.MakeSocks5URL("user2", "password")
- dialer, _ := network.NewSocks5Dialer(suite.d, proxyURL)
- httpClient := suite.MakeHTTPClient(dialer)
-
- resp, err := httpClient.Get(suite.MakeURL("/get")) // nolint: noctx
- if err == nil {
- defer resp.Body.Close()
- }
-
- suite.Error(err)
- }
-
- func (suite *Socks5TestSuite) TestRequestOk() {
- proxyURL := suite.MakeSocks5URL("user", "password")
- dialer, _ := network.NewSocks5Dialer(suite.d, proxyURL)
- httpClient := suite.MakeHTTPClient(dialer)
-
- resp, err := httpClient.Get(suite.MakeURL("/get")) // nolint: noctx
- if err == nil {
- defer resp.Body.Close()
- }
-
- suite.NoError(err)
- suite.Equal(http.StatusOK, resp.StatusCode)
- }
-
- func TestSocks5TestSuite(t *testing.T) {
- t.Parallel()
- suite.Run(t, &Socks5TestSuite{})
- }
|