session 패키지 추가
This commit is contained in:
71
session/session_test.go
Normal file
71
session/session_test.go
Normal file
@ -0,0 +1,71 @@
|
||||
// package main ...
|
||||
package session
|
||||
|
||||
import (
|
||||
"context"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
"repositories.action2quare.com/ayo/gocommon/logger"
|
||||
)
|
||||
|
||||
type sessioninfo struct {
|
||||
Platform string
|
||||
Uid string
|
||||
}
|
||||
|
||||
func TestExpTable(t *testing.T) {
|
||||
pv, err := NewProvider[sessioninfo](context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
cs, err := NewConsumer[sessioninfo](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(), &sessioninfo{
|
||||
Platform: "editor",
|
||||
Uid: "uid-1",
|
||||
})
|
||||
|
||||
time.Sleep(2 * time.Second)
|
||||
pv.Update(newid2.Hex(), &sessioninfo{
|
||||
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[sessioninfo](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)
|
||||
}
|
||||
Reference in New Issue
Block a user