server_spec_test.go 698 B

12345678910111213141516171819202122232425262728293031
  1. package protocol_test
  2. import (
  3. "testing"
  4. "time"
  5. . "v2ray.com/core/common/protocol"
  6. "v2ray.com/core/testing/assert"
  7. )
  8. func TestAlwaysValidStrategy(t *testing.T) {
  9. assert := assert.On(t)
  10. strategy := AlwaysValid()
  11. assert.Bool(strategy.IsValid()).IsTrue()
  12. strategy.Invalidate()
  13. assert.Bool(strategy.IsValid()).IsTrue()
  14. }
  15. func TestTimeoutValidStrategy(t *testing.T) {
  16. assert := assert.On(t)
  17. strategy := BeforeTime(time.Now().Add(2 * time.Second))
  18. assert.Bool(strategy.IsValid()).IsTrue()
  19. time.Sleep(3 * time.Second)
  20. assert.Bool(strategy.IsValid()).IsFalse()
  21. strategy = BeforeTime(time.Now().Add(2 * time.Second))
  22. strategy.Invalidate()
  23. assert.Bool(strategy.IsValid()).IsFalse()
  24. }