diff --git a/core/stores/sqlc/cachedsql_test.go b/core/stores/sqlc/cachedsql_test.go index 534e99ca..dc4d9961 100644 --- a/core/stores/sqlc/cachedsql_test.go +++ b/core/stores/sqlc/cachedsql_test.go @@ -79,9 +79,29 @@ func TestCachedConn_QueryRowIndex_NoCache(t *testing.T) { } r := redis.NewRedis(s.Addr(), redis.NodeType) - c := NewNodeConn(dummySqlConn{}, r, cache.WithExpiry(time.Second*10)) + c := NewConn(dummySqlConn{}, cache.CacheConf{ + { + RedisConf: redis.RedisConf{ + Host: s.Addr(), + Type: redis.NodeType, + }, + Weight: 100, + }, + }, cache.WithExpiry(time.Second*10)) var str string + err = c.QueryRowIndex(&str, "index", func(s interface{}) string { + return fmt.Sprintf("%s/1234", s) + }, func(conn sqlx.SqlConn, v interface{}) (interface{}, error) { + *v.(*string) = "zero" + return "primary", errors.New("foo") + }, func(conn sqlx.SqlConn, v, pri interface{}) error { + assert.Equal(t, "primary", pri) + *v.(*string) = "xin" + return nil + }) + assert.NotNil(t, err) + err = c.QueryRowIndex(&str, "index", func(s interface{}) string { return fmt.Sprintf("%s/1234", s) }, func(conn sqlx.SqlConn, v interface{}) (interface{}, error) { @@ -500,6 +520,10 @@ func TestCachedConnExecDropCache(t *testing.T) { assert.True(t, conn.execValue) _, err = s.Get(key) assert.Exactly(t, miniredis.ErrKeyNotFound, err) + _, err = c.Exec(func(conn sqlx.SqlConn) (result sql.Result, e error) { + return nil, errors.New("foo") + }, key) + assert.NotNil(t, err) } func TestCachedConnExecDropCacheFailed(t *testing.T) {