Files
gocommon/session/session_test.go

69 lines
1.4 KiB
Go

// package main ...
package session
import (
"context"
"testing"
"time"
"go.mongodb.org/mongo-driver/bson/primitive"
"repositories.action2quare.com/ayo/gocommon/logger"
)
func TestExpTable(t *testing.T) {
pv, err := NewProvider(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second)
if err != nil {
t.Error(err)
}
cs, err := NewConsumer(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second)
if err != nil {
t.Error(err)
}
newid1 := primitive.NewObjectID()
newid2 := primitive.NewObjectID()
go func() {
for {
logger.Println("query :", cs.Query(newid1.Hex()))
logger.Println("query :", cs.Query(newid2.Hex()))
time.Sleep(time.Second)
}
}()
time.Sleep(2 * time.Second)
pv.Update(newid1.Hex(), &Authorization{
Account: newid1.Hex(),
Platform: "editor",
Uid: "uid-1",
})
time.Sleep(2 * time.Second)
pv.Update(newid2.Hex(), &Authorization{
Account: newid2.Hex(),
Platform: "editor",
Uid: "uid-2",
})
cs.Touch(newid1.Hex())
time.Sleep(2 * time.Second)
cs.Touch(newid2.Hex())
time.Sleep(2 * time.Second)
time.Sleep(2 * time.Second)
pv.Delete(newid1.Hex())
cs.Touch(newid1.Hex())
time.Sleep(2 * time.Second)
cs.Touch(newid2.Hex())
time.Sleep(2 * time.Second)
cs2, err := NewConsumer(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second)
if err != nil {
t.Error(err)
}
logger.Println("queryf :", cs2.Query(newid2.Hex()))
time.Sleep(20 * time.Second)
}