Files
tavern/core/tavern_test.go
2023-07-16 02:51:41 +09:00

75 lines
1.6 KiB
Go

// warroom project main.go
package core
import (
"context"
"testing"
"github.com/go-redis/redis/v8"
"go.mongodb.org/mongo-driver/bson/primitive"
"repositories.action2quare.com/ayo/gocommon/logger"
)
func TestReJSON(t *testing.T) {
rc := redis.NewClient(&redis.Options{Addr: "192.168.8.94:6380"})
rh := NewReJSONHandler(context.Background(), rc)
testDoc := map[string]any{
"members": map[string]any{
"mid2": map[string]any{
"key": "val",
"exp": 20202020,
},
"mid1": map[string]any{
"key": "val",
"exp": 10101010,
},
},
}
gd := groupDoc{
id: primitive.NewObjectID(),
}
midin := primitive.NewObjectID()
tid := gd.tid(midin)
midout := gd.mid(tid)
logger.Println(midin, tid, midout)
res, err := rh.JSONSet("jsontest", "$", testDoc)
logger.Println(res, err)
res, err = rh.JSONResp("jsontest", "$.members")
vars := res.([]any)
logger.Println(vars, err)
res, err = rh.JSONGetString("jsontest", "$.members..key")
logger.Println(res, err)
res, err = rh.JSONGetInt64("jsontest", "$.members..exp")
logger.Println(res, err)
res, err = rh.JSONObjKeys("jsontest", "$.members")
logger.Println(res, err)
err = rh.JSONMSet("jsontest", map[string]any{
"$.members.mid1.key": "newval",
"$.members.mid2.key": "newval",
})
logger.Println(err)
res, err = rh.JSONGet("jsontest", "$")
logger.Println(string(res.([]byte)), err)
err = rh.JSONMDel("jsontest", []string{"$.members.mid1", "$.members.mid2"})
logger.Println(err)
res, err = rh.JSONGet("jsontest", "$")
logger.Println(string(res.([]byte)), err)
res, err = rh.JSONObjLen("jsontest", "$.members")
count := res.([]any)[0].(int64)
logger.Println(count, err)
}