// Code generated by mockery v2.28.1. DO NOT EDIT.

package spdkmock

import (
	client "lite.io/liteio/pkg/spdk/jsonrpc/client"
	mock "github.com/stretchr/testify/mock"
)

// SPDKClientIface is an autogenerated mock type for the SPDKClientIface type
type SPDKClientIface struct {
	mock.Mock
}

// AttachController provides a mock function with given fields: req
func (_m *SPDKClientIface) AttachController(req client.AttachControllerRequest) ([]string, error) {
	ret := _m.Called(req)

	var r0 []string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.AttachControllerRequest) ([]string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.AttachControllerRequest) []string); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}

	if rf, ok := ret.Get(1).(func(client.AttachControllerRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevAioCreate provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevAioCreate(req client.BdevAioCreateReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevAioCreateReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevAioCreateReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.BdevAioCreateReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevAioDelete provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevAioDelete(req client.BdevAioDeleteReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevAioDeleteReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevAioDeleteReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.BdevAioDeleteReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevAioResize provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevAioResize(req client.BdevAioResizeReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevAioResizeReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevAioResizeReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.BdevAioResizeReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevGetBdevs provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevGetBdevs(req client.BdevGetBdevsReq) ([]client.Bdev, error) {
	ret := _m.Called(req)

	var r0 []client.Bdev
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevGetBdevsReq) ([]client.Bdev, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevGetBdevsReq) []client.Bdev); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.Bdev)
		}
	}

	if rf, ok := ret.Get(1).(func(client.BdevGetBdevsReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevGetIostat provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevGetIostat(req client.BdevGetIostatReq) (client.BdevIostats, error) {
	ret := _m.Called(req)

	var r0 client.BdevIostats
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevGetIostatReq) (client.BdevIostats, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevGetIostatReq) client.BdevIostats); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(client.BdevIostats)
	}

	if rf, ok := ret.Get(1).(func(client.BdevGetIostatReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolClone provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolClone(req client.BdevLVolCloneReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolCloneReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolCloneReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolCloneReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolCreate provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolCreate(req client.BdevLVolCreateReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolCreateReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolCreateReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolCreateReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolCreateLVStore provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolCreateLVStore(req client.BdevLVolCreateLVStoreReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolCreateLVStoreReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolCreateLVStoreReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolCreateLVStoreReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolDelete provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolDelete(req client.BdevLVolDeleteReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolDeleteReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolDeleteReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolDeleteReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolGetLVStores provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolGetLVStores(req client.BdevLVolGetLVStoresReq) ([]client.LVStoreInfo, error) {
	ret := _m.Called(req)

	var r0 []client.LVStoreInfo
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolGetLVStoresReq) ([]client.LVStoreInfo, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolGetLVStoresReq) []client.LVStoreInfo); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.LVStoreInfo)
		}
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolGetLVStoresReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolInflate provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolInflate(req client.BdevLVolInflateReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolInflateReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolInflateReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolInflateReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolResize provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolResize(req client.BdevLVolResizeReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolResizeReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolResizeReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolResizeReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevLVolSnapshot provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevLVolSnapshot(req client.BdevLVolSnapshotReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevLVolSnapshotReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevLVolSnapshotReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.BdevLVolSnapshotReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevMigrateCleanupTask provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevMigrateCleanupTask(req client.BdevMigrateStartRequest) error {
	ret := _m.Called(req)

	var r0 error
	if rf, ok := ret.Get(0).(func(client.BdevMigrateStartRequest) error); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// BdevMigrateQuery provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevMigrateQuery(req client.BdevMigrateQueryRequest) ([]client.MigrateTask, error) {
	ret := _m.Called(req)

	var r0 []client.MigrateTask
	var r1 error
	if rf, ok := ret.Get(0).(func(client.BdevMigrateQueryRequest) ([]client.MigrateTask, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.BdevMigrateQueryRequest) []client.MigrateTask); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.MigrateTask)
		}
	}

	if rf, ok := ret.Get(1).(func(client.BdevMigrateQueryRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// BdevMigrateSetConfig provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevMigrateSetConfig(req client.BdevMigrateSetConfigRequest) error {
	ret := _m.Called(req)

	var r0 error
	if rf, ok := ret.Get(0).(func(client.BdevMigrateSetConfigRequest) error); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// BdevMigrateStart provides a mock function with given fields: req
func (_m *SPDKClientIface) BdevMigrateStart(req client.BdevMigrateStartRequest) error {
	ret := _m.Called(req)

	var r0 error
	if rf, ok := ret.Get(0).(func(client.BdevMigrateStartRequest) error); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// CreateBdevMalloc provides a mock function with given fields: req
func (_m *SPDKClientIface) CreateBdevMalloc(req client.CreateBdevMallocReq) (string, error) {
	ret := _m.Called(req)

	var r0 string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.CreateBdevMallocReq) (string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.CreateBdevMallocReq) string); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(string)
	}

	if rf, ok := ret.Get(1).(func(client.CreateBdevMallocReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// CreateBdevRaid provides a mock function with given fields: req
func (_m *SPDKClientIface) CreateBdevRaid(req client.CreateBdevRaidRequest) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.CreateBdevRaidRequest) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.CreateBdevRaidRequest) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.CreateBdevRaidRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DeleteBdevMalloc provides a mock function with given fields: req
func (_m *SPDKClientIface) DeleteBdevMalloc(req client.DeleteBdevMallocReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.DeleteBdevMallocReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.DeleteBdevMallocReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.DeleteBdevMallocReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// DetachController provides a mock function with given fields: req
func (_m *SPDKClientIface) DetachController(req client.DetachControllerRequest) error {
	ret := _m.Called(req)

	var r0 error
	if rf, ok := ret.Get(0).(func(client.DetachControllerRequest) error); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// FrameworkGetConfig provides a mock function with given fields: req
func (_m *SPDKClientIface) FrameworkGetConfig(req client.FrameworkGetConfigReq) ([]client.FrameworkGetConfigItem, error) {
	ret := _m.Called(req)

	var r0 []client.FrameworkGetConfigItem
	var r1 error
	if rf, ok := ret.Get(0).(func(client.FrameworkGetConfigReq) ([]client.FrameworkGetConfigItem, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.FrameworkGetConfigReq) []client.FrameworkGetConfigItem); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.FrameworkGetConfigItem)
		}
	}

	if rf, ok := ret.Get(1).(func(client.FrameworkGetConfigReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// FrameworkGetSubsystems provides a mock function with given fields:
func (_m *SPDKClientIface) FrameworkGetSubsystems() ([]client.FrameworkGetSubsystemsItem, error) {
	ret := _m.Called()

	var r0 []client.FrameworkGetSubsystemsItem
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]client.FrameworkGetSubsystemsItem, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []client.FrameworkGetSubsystemsItem); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.FrameworkGetSubsystemsItem)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetRawClient provides a mock function with given fields:
func (_m *SPDKClientIface) GetRawClient() client.JsonRpcClientIface {
	ret := _m.Called()

	var r0 client.JsonRpcClientIface
	if rf, ok := ret.Get(0).(func() client.JsonRpcClientIface); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(client.JsonRpcClientIface)
		}
	}

	return r0
}

// GetSpdkVersion provides a mock function with given fields:
func (_m *SPDKClientIface) GetSpdkVersion() (client.SpdkVersion, error) {
	ret := _m.Called()

	var r0 client.SpdkVersion
	var r1 error
	if rf, ok := ret.Get(0).(func() (client.SpdkVersion, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() client.SpdkVersion); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(client.SpdkVersion)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListBdevRaid provides a mock function with given fields: req
func (_m *SPDKClientIface) ListBdevRaid(req client.ListBdevRaidRequest) ([]string, error) {
	ret := _m.Called(req)

	var r0 []string
	var r1 error
	if rf, ok := ret.Get(0).(func(client.ListBdevRaidRequest) ([]string, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.ListBdevRaidRequest) []string); ok {
		r0 = rf(req)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}

	if rf, ok := ret.Get(1).(func(client.ListBdevRaidRequest) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListControllers provides a mock function with given fields:
func (_m *SPDKClientIface) ListControllers() ([]client.ControllerInfo, error) {
	ret := _m.Called()

	var r0 []client.ControllerInfo
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]client.ControllerInfo, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []client.ControllerInfo); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.ControllerInfo)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFCreateSubsystem provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFCreateSubsystem(req client.NVMFCreateSubsystemReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFCreateSubsystemReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFCreateSubsystemReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFCreateSubsystemReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFCreateTransport provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFCreateTransport(req client.NVMFCreateTransportReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFCreateTransportReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFCreateTransportReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFCreateTransportReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFDeleteSubsystem provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFDeleteSubsystem(req client.NVMFDeleteSubsystemReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFDeleteSubsystemReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFDeleteSubsystemReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFDeleteSubsystemReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFGetStats provides a mock function with given fields:
func (_m *SPDKClientIface) NVMFGetStats() (client.SubsystemStat, error) {
	ret := _m.Called()

	var r0 client.SubsystemStat
	var r1 error
	if rf, ok := ret.Get(0).(func() (client.SubsystemStat, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() client.SubsystemStat); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(client.SubsystemStat)
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFGetSubsystems provides a mock function with given fields:
func (_m *SPDKClientIface) NVMFGetSubsystems() ([]client.Subsystem, error) {
	ret := _m.Called()

	var r0 []client.Subsystem
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]client.Subsystem, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []client.Subsystem); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.Subsystem)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFGetTransports provides a mock function with given fields:
func (_m *SPDKClientIface) NVMFGetTransports() ([]client.Transport, error) {
	ret := _m.Called()

	var r0 []client.Transport
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]client.Transport, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []client.Transport); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]client.Transport)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFSubsystemAddHost provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFSubsystemAddHost(req client.NVMFSubsystemAddHostReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddHostReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddHostReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFSubsystemAddHostReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFSubsystemAddListener provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFSubsystemAddListener(req client.NVMFSubsystemAddListenerReq) (bool, error) {
	ret := _m.Called(req)

	var r0 bool
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddListenerReq) (bool, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddListenerReq) bool); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(bool)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFSubsystemAddListenerReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// NVMFSubsystemAddNS provides a mock function with given fields: req
func (_m *SPDKClientIface) NVMFSubsystemAddNS(req client.NVMFSubsystemAddNSReq) (int, error) {
	ret := _m.Called(req)

	var r0 int
	var r1 error
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddNSReq) (int, error)); ok {
		return rf(req)
	}
	if rf, ok := ret.Get(0).(func(client.NVMFSubsystemAddNSReq) int); ok {
		r0 = rf(req)
	} else {
		r0 = ret.Get(0).(int)
	}

	if rf, ok := ret.Get(1).(func(client.NVMFSubsystemAddNSReq) error); ok {
		r1 = rf(req)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// RpcGetMethods provides a mock function with given fields:
func (_m *SPDKClientIface) RpcGetMethods() ([]string, error) {
	ret := _m.Called()

	var r0 []string
	var r1 error
	if rf, ok := ret.Get(0).(func() ([]string, error)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []string); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}

	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

type mockConstructorTestingTNewSPDKClientIface interface {
	mock.TestingT
	Cleanup(func())
}

// NewSPDKClientIface creates a new instance of SPDKClientIface. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewSPDKClientIface(t mockConstructorTestingTNewSPDKClientIface) *SPDKClientIface {
	mock := &SPDKClientIface{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}
