1 package redis 2 3 import ( 4 "context" 5 ) 6 7 // mockCmdable is a mock implementation of cmdable that records the last command. 8 // This is used for unit testing command construction without requiring a Redis server. 9 type mockCmdable struct { 10 lastCmd Cmder 11 returnErr error 12 } 13 14 func (m *mockCmdable) call(_ context.Context, cmd Cmder) error { 15 m.lastCmd = cmd 16 if m.returnErr != nil { 17 cmd.SetErr(m.returnErr) 18 } 19 return m.returnErr 20 } 21 22 func (m *mockCmdable) asCmdable() cmdable { 23 return func(ctx context.Context, cmd Cmder) error { 24 return m.call(ctx, cmd) 25 } 26 } 27