| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- package vmess_test
 
- import (
 
- 	"testing"
 
- 	"time"
 
- 	"v2ray.com/core/common"
 
- 	"v2ray.com/core/common/serial"
 
- 	"v2ray.com/core/common/uuid"
 
- 	"v2ray.com/core/common/protocol"
 
- 	. "v2ray.com/core/proxy/vmess"
 
- 	. "v2ray.com/ext/assert"
 
- )
 
- func TestUserValidator(t *testing.T) {
 
- 	assert := With(t)
 
- 	hasher := protocol.DefaultIDHash
 
- 	v := NewTimedUserValidator(hasher)
 
- 	defer common.Close(v)
 
- 	id := uuid.New()
 
- 	user := &protocol.User{
 
- 		Email: "test",
 
- 		Account: serial.ToTypedMessage(&Account{
 
- 			Id:      id.String(),
 
- 			AlterId: 8,
 
- 		}),
 
- 	}
 
- 	common.Must(v.Add(user))
 
- 	{
 
- 		ts := protocol.Timestamp(time.Now().Unix())
 
- 		idHash := hasher(id.Bytes())
 
- 		idHash.Write(ts.Bytes(nil))
 
- 		userHash := idHash.Sum(nil)
 
- 		euser, ets, found := v.Get(userHash)
 
- 		assert(found, IsTrue)
 
- 		assert(euser.Email, Equals, user.Email)
 
- 		assert(int64(ets), Equals, int64(ts))
 
- 	}
 
- 	{
 
- 		ts := protocol.Timestamp(time.Now().Add(time.Second * 500).Unix())
 
- 		idHash := hasher(id.Bytes())
 
- 		idHash.Write(ts.Bytes(nil))
 
- 		userHash := idHash.Sum(nil)
 
- 		euser, _, found := v.Get(userHash)
 
- 		assert(found, IsFalse)
 
- 		assert(euser, IsNil)
 
- 	}
 
- 	assert(v.Remove(user.Email), IsTrue)
 
- 	assert(v.Remove(user.Email), IsFalse)
 
- }
 
 
  |