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
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

events_test.go 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package mtglib_test
  2. import (
  3. "net"
  4. "testing"
  5. "time"
  6. "github.com/9seconds/mtg/v2/mtglib"
  7. "github.com/stretchr/testify/suite"
  8. )
  9. type EventsTestSuite struct {
  10. suite.Suite
  11. }
  12. func (suite *EventsTestSuite) TestEventStart() {
  13. evt := mtglib.NewEventStart("CONNID", net.ParseIP("10.0.0.10"))
  14. suite.Equal("CONNID", evt.StreamID())
  15. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  16. }
  17. func (suite *EventsTestSuite) TestEventFinish() {
  18. evt := mtglib.NewEventFinish("CONNID")
  19. suite.Equal("CONNID", evt.StreamID())
  20. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  21. }
  22. func (suite *EventsTestSuite) TestEventConnectedToDC() {
  23. evt := mtglib.NewEventConnectedToDC("CONNID", net.ParseIP("10.0.0.10"), 3)
  24. suite.Equal("CONNID", evt.StreamID())
  25. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  26. }
  27. func (suite *EventsTestSuite) TestEventTraffic() {
  28. evt := mtglib.NewEventTraffic("CONNID", 1000, true)
  29. suite.Equal("CONNID", evt.StreamID())
  30. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  31. }
  32. func (suite *EventsTestSuite) TestEventDomainFronting() {
  33. evt := mtglib.NewEventDomainFronting("CONNID")
  34. suite.Equal("CONNID", evt.StreamID())
  35. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  36. }
  37. func (suite *EventsTestSuite) TestEventConcurrencyLimited() {
  38. evt := mtglib.NewEventConcurrencyLimited()
  39. suite.Empty(evt.StreamID())
  40. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  41. }
  42. func (suite *EventsTestSuite) TestEventIPBlocklisted() {
  43. evt := mtglib.NewEventIPBlocklisted(net.ParseIP("10.0.0.10"))
  44. suite.Empty(evt.StreamID())
  45. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  46. }
  47. func (suite *EventsTestSuite) TestEventReplayAttack() {
  48. evt := mtglib.NewEventReplayAttack("CONNID")
  49. suite.Equal("CONNID", evt.StreamID())
  50. suite.WithinDuration(time.Now(), evt.Timestamp(), 10*time.Millisecond)
  51. }
  52. func TestEvents(t *testing.T) {
  53. t.Parallel()
  54. suite.Run(t, &EventsTestSuite{})
  55. }