add:func() QueryRowsPartial,QueryRowPartial into cachedsql.go (#3512)

Co-authored-by: 刘敏 <liumin@liumindeMac-mini.local>
This commit is contained in:
liumin-go
2023-08-27 16:05:02 +08:00
committed by GitHub
parent 0423313d9b
commit a50515496c
2 changed files with 56 additions and 1 deletions

View File

@@ -16,7 +16,6 @@ import (
"time"
"github.com/DATA-DOG/go-sqlmock"
"github.com/alicebob/miniredis/v2"
"github.com/stretchr/testify/assert"
"github.com/zeromicro/go-zero/core/fx"
"github.com/zeromicro/go-zero/core/logx"
@@ -546,6 +545,17 @@ func TestCachedConnQueryRows(t *testing.T) {
assert.True(t, conn.queryRowsValue)
}
func TestCachedConnQueryRowsPartial(t *testing.T) {
r := redistest.CreateRedis(t)
var conn trackedConn
c := NewNodeConn(&conn, r, cache.WithExpiry(time.Second*10))
var users []string
err := c.QueryRowsPartialNoCache(&users, "select user from user_table where id='kevin'")
assert.Nil(t, err)
assert.True(t, conn.queryRowsValue)
}
func TestCachedConnTransact(t *testing.T) {
r := redistest.CreateRedis(t)
@@ -579,6 +589,27 @@ func TestQueryRowNoCache(t *testing.T) {
assert.True(t, ran)
}
func TestQueryRowPartialNoCache(t *testing.T) {
r := redistest.CreateRedis(t)
const (
key = "user"
value = "any"
)
var user string
var ran bool
conn := dummySqlConn{queryRow: func(v any, q string, args ...any) error {
user = value
ran = true
return nil
}}
c := NewNodeConn(&conn, r, cache.WithExpiry(time.Second*30))
err := c.QueryRowPartialNoCache(&user, key)
assert.Nil(t, err)
assert.Equal(t, value, user)
assert.True(t, ran)
}
func TestNewConnWithCache(t *testing.T) {
r := redistest.CreateRedis(t)