From f167bee9d541cbb732c0394660107a94857c6071 Mon Sep 17 00:00:00 2001 From: Chris Weber Date: Mon, 5 Jun 2023 14:34:34 -0700 Subject: [PATCH 1/2] call hook --- mock.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mock.go b/mock.go index c8c28b9..7a95b78 100644 --- a/mock.go +++ b/mock.go @@ -89,17 +89,19 @@ func (redisClientHook) DialHook(hook redis.DialHook) redis.DialHook { return hook } -func (h redisClientHook) ProcessHook(_ redis.ProcessHook) redis.ProcessHook { +func (h redisClientHook) ProcessHook(hook redis.ProcessHook) redis.ProcessHook { return func(ctx context.Context, cmd redis.Cmder) error { err := h.fn(cmd) if h.returnErr != nil && (err == nil || cmd.Err() == nil) { err = h.returnErr } + + err = hook(ctx, cmd) return err } } -func (h redisClientHook) ProcessPipelineHook(_ redis.ProcessPipelineHook) redis.ProcessPipelineHook { +func (h redisClientHook) ProcessPipelineHook(hook redis.ProcessPipelineHook) redis.ProcessPipelineHook { return func(ctx context.Context, cmds []redis.Cmder) error { for _, cmd := range cmds { err := h.fn(cmd) @@ -110,7 +112,9 @@ func (h redisClientHook) ProcessPipelineHook(_ redis.ProcessPipelineHook) redis. return err } } - return nil + + err := hook(ctx, cmds) + return err } } From 84a03300ee88fae75c509bc646deca4d7d4706c3 Mon Sep 17 00:00:00 2001 From: Chris Weber Date: Mon, 5 Jun 2023 14:38:34 -0700 Subject: [PATCH 2/2] preserve current error behaviour --- mock.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mock.go b/mock.go index 7a95b78..132d999 100644 --- a/mock.go +++ b/mock.go @@ -93,11 +93,10 @@ func (h redisClientHook) ProcessHook(hook redis.ProcessHook) redis.ProcessHook { return func(ctx context.Context, cmd redis.Cmder) error { err := h.fn(cmd) if h.returnErr != nil && (err == nil || cmd.Err() == nil) { - err = h.returnErr + return h.returnErr } - err = hook(ctx, cmd) - return err + return hook(ctx, cmd) } } @@ -113,8 +112,7 @@ func (h redisClientHook) ProcessPipelineHook(hook redis.ProcessPipelineHook) red } } - err := hook(ctx, cmds) - return err + return hook(ctx, cmds) } }