|
|
@@ -2,6 +2,7 @@ package protocol_test
|
|
|
|
|
|
import (
|
|
|
"testing"
|
|
|
+ "time"
|
|
|
|
|
|
v2net "github.com/v2ray/v2ray-core/common/net"
|
|
|
. "github.com/v2ray/v2ray-core/common/protocol"
|
|
|
@@ -16,7 +17,7 @@ func (this *TestAccount) Equals(account Account) bool {
|
|
|
return account.(*TestAccount).id == this.id
|
|
|
}
|
|
|
|
|
|
-func TestReceiverUser(t *testing.T) {
|
|
|
+func TestServerSpecUser(t *testing.T) {
|
|
|
assert := assert.On(t)
|
|
|
|
|
|
account := &TestAccount{
|
|
|
@@ -37,3 +38,25 @@ func TestReceiverUser(t *testing.T) {
|
|
|
rec.AddUser(user2)
|
|
|
assert.Bool(rec.HasUser(user2)).IsTrue()
|
|
|
}
|
|
|
+
|
|
|
+func TestAlwaysValidStrategy(t *testing.T) {
|
|
|
+ assert := assert.On(t)
|
|
|
+
|
|
|
+ strategy := AlwaysValid()
|
|
|
+ assert.Bool(strategy.IsValid()).IsTrue()
|
|
|
+ strategy.Invalidate()
|
|
|
+ assert.Bool(strategy.IsValid()).IsTrue()
|
|
|
+}
|
|
|
+
|
|
|
+func TestTimeoutValidStrategy(t *testing.T) {
|
|
|
+ assert := assert.On(t)
|
|
|
+
|
|
|
+ strategy := BeforeTime(time.Now().Add(2 * time.Second))
|
|
|
+ assert.Bool(strategy.IsValid()).IsTrue()
|
|
|
+ time.Sleep(3 * time.Second)
|
|
|
+ assert.Bool(strategy.IsValid()).IsFalse()
|
|
|
+
|
|
|
+ strategy = BeforeTime(time.Now().Add(2 * time.Second))
|
|
|
+ strategy.Invalidate()
|
|
|
+ assert.Bool(strategy.IsValid()).IsFalse()
|
|
|
+}
|