session_test.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package sessdata
  2. import (
  3. "fmt"
  4. "testing"
  5. "time"
  6. "github.com/bjdgyc/anylink/base"
  7. "github.com/stretchr/testify/assert"
  8. )
  9. func TestNewSession(t *testing.T) {
  10. ast := assert.New(t)
  11. sessions = make(map[string]*Session)
  12. sess := NewSession("")
  13. token := sess.Token
  14. v, ok := sessions[token]
  15. ast.True(ok)
  16. ast.Equal(sess, v)
  17. }
  18. func TestConnSession(t *testing.T) {
  19. ast := assert.New(t)
  20. tmp := t.TempDir()
  21. preData(tmp)
  22. defer cleardata(tmp)
  23. time.Sleep(time.Second * 10)
  24. sess := NewSession("")
  25. sess.Username = "user-test"
  26. sess.Group = "group1"
  27. sess.MacAddr = "00:15:5d:50:14:43"
  28. cSess := sess.NewConn()
  29. base.Info("cSess", cSess)
  30. err := cSess.RateLimit(100, true)
  31. ast.Nil(err)
  32. ast.Equal(cSess.BandwidthUp.Load(), uint32(100))
  33. err = cSess.RateLimit(200, false)
  34. ast.Nil(err)
  35. ast.Equal(cSess.BandwidthDown.Load(), uint32(200))
  36. var (
  37. cmpName string
  38. ok bool
  39. )
  40. base.Cfg.Compression = true
  41. cmpName, ok = cSess.SetPickCmp("cstp", "oc-lz4,lzs")
  42. fmt.Println(cmpName, ok)
  43. ast.True(ok)
  44. ast.Equal(cmpName, "lzs")
  45. cmpName, ok = cSess.SetPickCmp("dtls", "lzs")
  46. ast.True(ok)
  47. ast.Equal(cmpName, "lzs")
  48. cmpName, ok = cSess.SetPickCmp("dtls", "test")
  49. ast.False(ok)
  50. ast.Equal(cmpName, "")
  51. cSess.Close()
  52. }