session_test.go 666 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package mux_test
  2. import (
  3. "testing"
  4. . "v2ray.com/core/app/proxyman/mux"
  5. "v2ray.com/core/testing/assert"
  6. )
  7. func TestSessionManagerAdd(t *testing.T) {
  8. assert := assert.On(t)
  9. m := NewSessionManager()
  10. s := m.Allocate()
  11. assert.Uint16(s.ID).Equals(1)
  12. assert.Int(m.Size()).Equals(1)
  13. s = m.Allocate()
  14. assert.Uint16(s.ID).Equals(2)
  15. assert.Int(m.Size()).Equals(2)
  16. s = &Session{
  17. ID: 4,
  18. }
  19. m.Add(s)
  20. assert.Uint16(s.ID).Equals(4)
  21. }
  22. func TestSessionManagerClose(t *testing.T) {
  23. assert := assert.On(t)
  24. m := NewSessionManager()
  25. s := m.Allocate()
  26. assert.Bool(m.CloseIfNoSession()).IsFalse()
  27. m.Remove(s.ID)
  28. assert.Bool(m.CloseIfNoSession()).IsTrue()
  29. }