go/rpc: add mockery for Clientthis help for users of this packageto mock this interface for unit testingSee more documentation here:https://github.com/vektra/mockeryExample:```import (
go/rpc: add mockery for Clientthis help for users of this packageto mock this interface for unit testingSee more documentation here:https://github.com/vektra/mockeryExample:```import ( "log" "errors" "testing" "github.com/stretchr/testify/mock" "github.com/spdk/spdk/go/rpc/client" "github.com/spdk/spdk/go/rpc/client/mocks")func SpdkGetVersion(c *client.IClient) error { // a lot of logic before the call resp1, err1 := c.Call("spdk_get_version", nil) // a lot of logic after the call log.Print(resp1) resp2, err2 := c.Call("bdev_get_bdevs", nil) // a lot of logic after the call log.Print(resp2) return err}func Test_Example(t *testing.T) { mockSpdk := mocks.NewIClient(t) mockSpdk.EXPECT().Call("spdk_get_version", mock.Anything).Return(errors.New("my error")).Once() mockSpdk.EXPECT().Call("bdev_get_bdevs", mock.Anything).Return(errors.New("my error")).Once() err := SpdkGetVersion(mockSpdk) if err != nil { t.Error("unexpected error received") }}```Change-Id: I2747472def0cd73075f52ec678ca45e981bdf0b8Signed-off-by: Boris Glimcher <Boris.Glimcher@emc.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20143Reviewed-by: Jim Harris <jim.harris@samsung.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Artek Koltun <artsiom.koltun@intel.com>Reviewed-by: Maciej Miś <maciej.mis@intel.com>Reviewed-by: Ben Walker <ben@nvidia.com>Community-CI: Mellanox Build Bot
show more ...