// 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 := NewProviderWithRedis(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second) // if err != nil { // t.Error(err) // } // cs, err := NewConsumerWithRedis(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second) // if err != nil { // t.Error(err) // } pv, err := NewProviderWithMongo(context.Background(), "mongodb://192.168.8.94:27017/?replicaSet=repl01&retrywrites=false", "maingate", 10*time.Second) if err != nil { t.Error(err) } cs, err := NewConsumerWithMongo(context.Background(), "mongodb://192.168.8.94:27017/?replicaSet=repl01&retrywrites=false", "maingate", 10*time.Second) if err != nil { t.Error(err) } sk1 := primitive.NewObjectID().Hex() sk2 := primitive.NewObjectID().Hex() go func() { for { logger.Println("query :", cs.Query(sk1)) logger.Println("query :", cs.Query(sk2)) time.Sleep(time.Second) } }() time.Sleep(2 * time.Second) pv.Update(sk1, &Authorization{ Account: primitive.NewObjectID(), Platform: "editor", Uid: "uid-1", }) time.Sleep(2 * time.Second) pv.Update(sk2, &Authorization{ Account: primitive.NewObjectID(), Platform: "editor", Uid: "uid-2", }) cs.Touch(sk1) time.Sleep(2 * time.Second) cs.Touch(sk2) time.Sleep(2 * time.Second) time.Sleep(2 * time.Second) pv.Delete(sk1) cs.Touch(sk1) time.Sleep(2 * time.Second) cs.Touch(sk2) time.Sleep(2 * time.Second) cs2, err := NewConsumerWithRedis(context.Background(), "redis://192.168.8.94:6380/1", 10*time.Second) if err != nil { t.Error(err) } logger.Println("queryf :", cs2.Query(sk2)) time.Sleep(20 * time.Second) }