Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

default_test.go 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package network_test
  2. import (
  3. "context"
  4. "net/http"
  5. "testing"
  6. "github.com/9seconds/mtg/v2/network"
  7. "github.com/stretchr/testify/suite"
  8. )
  9. type DefaultDialerTestSuite struct {
  10. suite.Suite
  11. HTTPServerTestSuite
  12. d network.Dialer
  13. }
  14. func (suite *DefaultDialerTestSuite) SetupSuite() {
  15. suite.HTTPServerTestSuite.SetupSuite()
  16. d, err := network.NewDefaultDialer(0, 0)
  17. suite.NoError(err)
  18. suite.d = d
  19. }
  20. func (suite *DefaultDialerTestSuite) TestNegativeTimeout() {
  21. _, err := network.NewDefaultDialer(-1, 0)
  22. suite.Error(err)
  23. }
  24. func (suite *DefaultDialerTestSuite) TestNegativeBufferSize() {
  25. _, err := network.NewDefaultDialer(0, -1)
  26. suite.Error(err)
  27. }
  28. func (suite *DefaultDialerTestSuite) TestUnsupportedProtocol() {
  29. _, err := suite.d.DialContext(context.Background(),
  30. "udp",
  31. suite.HTTPServerAddress())
  32. suite.Error(err)
  33. }
  34. func (suite *DefaultDialerTestSuite) TestCannotDial() {
  35. _, err := suite.d.DialContext(context.Background(),
  36. "tcp",
  37. suite.HTTPServerAddress()+suite.HTTPServerAddress())
  38. suite.Error(err)
  39. }
  40. func (suite *DefaultDialerTestSuite) TestConnectOk() {
  41. conn, err := suite.d.DialContext(context.Background(),
  42. "tcp",
  43. suite.HTTPServerAddress())
  44. suite.NoError(err)
  45. suite.NotNil(conn)
  46. conn.Close()
  47. }
  48. func (suite *DefaultDialerTestSuite) TestHTTPRequest() {
  49. httpClient := suite.MakeHTTPClient(suite.d)
  50. resp, err := httpClient.Get(suite.MakeURL("/get")) // nolint: noctx
  51. if err == nil {
  52. defer resp.Body.Close()
  53. }
  54. suite.NoError(err)
  55. suite.Equal(http.StatusOK, resp.StatusCode)
  56. }
  57. func TestDefaultDialer(t *testing.T) {
  58. t.Parallel()
  59. suite.Run(t, &DefaultDialerTestSuite{})
  60. }