| 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)
- }
|