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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

scout_conn_collected_test.go 972B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package doppel
  2. import (
  3. "testing"
  4. "time"
  5. "github.com/9seconds/mtg/v2/mtglib/internal/tls"
  6. "github.com/stretchr/testify/suite"
  7. )
  8. type ScoutConnCollectedTestSuite struct {
  9. suite.Suite
  10. }
  11. func (suite *ScoutConnCollectedTestSuite) TestAddSingle() {
  12. collected := NewScoutConnCollected()
  13. collected.Add(tls.TypeApplicationData)
  14. suite.Len(collected.data, 1)
  15. suite.Equal(byte(tls.TypeApplicationData), collected.data[0].recordType)
  16. }
  17. func (suite *ScoutConnCollectedTestSuite) TestAddTimestampsAreMonotonic() {
  18. collected := NewScoutConnCollected()
  19. collected.Add(tls.TypeApplicationData)
  20. time.Sleep(time.Microsecond)
  21. collected.Add(tls.TypeApplicationData)
  22. time.Sleep(time.Microsecond)
  23. collected.Add(tls.TypeApplicationData)
  24. for i := 1; i < len(collected.data); i++ {
  25. suite.True(collected.data[i].timestamp.After(collected.data[i-1].timestamp))
  26. }
  27. }
  28. func TestScoutConnCollected(t *testing.T) {
  29. t.Parallel()
  30. suite.Run(t, &ScoutConnCollectedTestSuite{})
  31. }