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
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package network_test
  2. import (
  3. "io"
  4. "net/http"
  5. "net/http/httptest"
  6. "testing"
  7. "github.com/9seconds/mtg/v2/network/v2"
  8. "github.com/stretchr/testify/suite"
  9. )
  10. type BaseHTTPTestSuite struct {
  11. suite.Suite
  12. http *httptest.Server
  13. client *http.Client
  14. }
  15. func (suite *BaseHTTPTestSuite) SetupSuite() {
  16. suite.http = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
  17. w.WriteHeader(http.StatusOK)
  18. w.Write([]byte(r.Header.Get("User-Agent"))) //nolint: errcheck
  19. }))
  20. }
  21. func (suite *BaseHTTPTestSuite) SetupTest() {
  22. suite.client = network.New(nil, "mtg/1", 0, 0, 0, network.DefaultKeepAliveConfig).MakeHTTPClient(nil)
  23. }
  24. func (suite *BaseHTTPTestSuite) TestGet() {
  25. resp, err := suite.client.Get(suite.http.URL)
  26. suite.NoError(err)
  27. defer resp.Body.Close() //nolint: errcheck
  28. data, err := io.ReadAll(resp.Body)
  29. suite.NoError(err)
  30. suite.Equal("mtg/1", string(data))
  31. }
  32. func (suite *BaseHTTPTestSuite) TearDownSuite() {
  33. suite.http.Close()
  34. }
  35. func TestBaseHTTP(t *testing.T) {
  36. t.Parallel()
  37. suite.Run(t, &BaseHTTPTestSuite{})
  38. }