mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
When autoID is enabled, the preimport task estimates row distribution by evenly dividing the total row count (numRows) across all vchannels: `estimatedCount = numRows / vchannelNum`. However, the actual import task hashes real auto-generated IDs to determine the target vchannel. This mismatch can lead to inaccurate row distribution estimation in such corner cases: - Importing 1 row into 2 vchannels: • Preimport: 1 / 2 = 0 → both v0 and v1 are estimated to have 0 rows • Import: real autoID (e.g., 457975852966809057) hashes to v1 → actual result: v0 = 0, v1 = 1 To resolve such corner case, we now allocate at least one segment for each vchannel when autoID is enabled, ensuring all vchannels are prepared to receive data even if no rows are estimated for them. issue: https://github.com/milvus-io/milvus/issues/41759 --------- Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
622 lines
15 KiB
Go
622 lines
15 KiB
Go
// Code generated by mockery v2.53.3. DO NOT EDIT.
|
|
|
|
package importv2
|
|
|
|
import (
|
|
datapb "github.com/milvus-io/milvus/pkg/v2/proto/datapb"
|
|
conc "github.com/milvus-io/milvus/pkg/v2/util/conc"
|
|
|
|
mock "github.com/stretchr/testify/mock"
|
|
|
|
schemapb "github.com/milvus-io/milvus-proto/go-api/v2/schemapb"
|
|
)
|
|
|
|
// MockTask is an autogenerated mock type for the Task type
|
|
type MockTask struct {
|
|
mock.Mock
|
|
}
|
|
|
|
type MockTask_Expecter struct {
|
|
mock *mock.Mock
|
|
}
|
|
|
|
func (_m *MockTask) EXPECT() *MockTask_Expecter {
|
|
return &MockTask_Expecter{mock: &_m.Mock}
|
|
}
|
|
|
|
// Cancel provides a mock function with no fields
|
|
func (_m *MockTask) Cancel() {
|
|
_m.Called()
|
|
}
|
|
|
|
// MockTask_Cancel_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Cancel'
|
|
type MockTask_Cancel_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// Cancel is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) Cancel() *MockTask_Cancel_Call {
|
|
return &MockTask_Cancel_Call{Call: _e.mock.On("Cancel")}
|
|
}
|
|
|
|
func (_c *MockTask_Cancel_Call) Run(run func()) *MockTask_Cancel_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Cancel_Call) Return() *MockTask_Cancel_Call {
|
|
_c.Call.Return()
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Cancel_Call) RunAndReturn(run func()) *MockTask_Cancel_Call {
|
|
_c.Run(run)
|
|
return _c
|
|
}
|
|
|
|
// Clone provides a mock function with no fields
|
|
func (_m *MockTask) Clone() Task {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for Clone")
|
|
}
|
|
|
|
var r0 Task
|
|
if rf, ok := ret.Get(0).(func() Task); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(Task)
|
|
}
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_Clone_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Clone'
|
|
type MockTask_Clone_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// Clone is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) Clone() *MockTask_Clone_Call {
|
|
return &MockTask_Clone_Call{Call: _e.mock.On("Clone")}
|
|
}
|
|
|
|
func (_c *MockTask_Clone_Call) Run(run func()) *MockTask_Clone_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Clone_Call) Return(_a0 Task) *MockTask_Clone_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Clone_Call) RunAndReturn(run func() Task) *MockTask_Clone_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// Execute provides a mock function with no fields
|
|
func (_m *MockTask) Execute() []*conc.Future[interface{}] {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for Execute")
|
|
}
|
|
|
|
var r0 []*conc.Future[interface{}]
|
|
if rf, ok := ret.Get(0).(func() []*conc.Future[interface{}]); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]*conc.Future[interface{}])
|
|
}
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_Execute_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Execute'
|
|
type MockTask_Execute_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// Execute is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) Execute() *MockTask_Execute_Call {
|
|
return &MockTask_Execute_Call{Call: _e.mock.On("Execute")}
|
|
}
|
|
|
|
func (_c *MockTask_Execute_Call) Run(run func()) *MockTask_Execute_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Execute_Call) Return(_a0 []*conc.Future[interface{}]) *MockTask_Execute_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_Execute_Call) RunAndReturn(run func() []*conc.Future[interface{}]) *MockTask_Execute_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetCollectionID provides a mock function with no fields
|
|
func (_m *MockTask) GetCollectionID() int64 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetCollectionID")
|
|
}
|
|
|
|
var r0 int64
|
|
if rf, ok := ret.Get(0).(func() int64); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(int64)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetCollectionID_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetCollectionID'
|
|
type MockTask_GetCollectionID_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetCollectionID is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetCollectionID() *MockTask_GetCollectionID_Call {
|
|
return &MockTask_GetCollectionID_Call{Call: _e.mock.On("GetCollectionID")}
|
|
}
|
|
|
|
func (_c *MockTask_GetCollectionID_Call) Run(run func()) *MockTask_GetCollectionID_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetCollectionID_Call) Return(_a0 int64) *MockTask_GetCollectionID_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetCollectionID_Call) RunAndReturn(run func() int64) *MockTask_GetCollectionID_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetJobID provides a mock function with no fields
|
|
func (_m *MockTask) GetJobID() int64 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetJobID")
|
|
}
|
|
|
|
var r0 int64
|
|
if rf, ok := ret.Get(0).(func() int64); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(int64)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetJobID_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetJobID'
|
|
type MockTask_GetJobID_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetJobID is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetJobID() *MockTask_GetJobID_Call {
|
|
return &MockTask_GetJobID_Call{Call: _e.mock.On("GetJobID")}
|
|
}
|
|
|
|
func (_c *MockTask_GetJobID_Call) Run(run func()) *MockTask_GetJobID_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetJobID_Call) Return(_a0 int64) *MockTask_GetJobID_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetJobID_Call) RunAndReturn(run func() int64) *MockTask_GetJobID_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetPartitionIDs provides a mock function with no fields
|
|
func (_m *MockTask) GetPartitionIDs() []int64 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetPartitionIDs")
|
|
}
|
|
|
|
var r0 []int64
|
|
if rf, ok := ret.Get(0).(func() []int64); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]int64)
|
|
}
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetPartitionIDs_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetPartitionIDs'
|
|
type MockTask_GetPartitionIDs_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetPartitionIDs is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetPartitionIDs() *MockTask_GetPartitionIDs_Call {
|
|
return &MockTask_GetPartitionIDs_Call{Call: _e.mock.On("GetPartitionIDs")}
|
|
}
|
|
|
|
func (_c *MockTask_GetPartitionIDs_Call) Run(run func()) *MockTask_GetPartitionIDs_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetPartitionIDs_Call) Return(_a0 []int64) *MockTask_GetPartitionIDs_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetPartitionIDs_Call) RunAndReturn(run func() []int64) *MockTask_GetPartitionIDs_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetReason provides a mock function with no fields
|
|
func (_m *MockTask) GetReason() string {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetReason")
|
|
}
|
|
|
|
var r0 string
|
|
if rf, ok := ret.Get(0).(func() string); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(string)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetReason_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetReason'
|
|
type MockTask_GetReason_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetReason is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetReason() *MockTask_GetReason_Call {
|
|
return &MockTask_GetReason_Call{Call: _e.mock.On("GetReason")}
|
|
}
|
|
|
|
func (_c *MockTask_GetReason_Call) Run(run func()) *MockTask_GetReason_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetReason_Call) Return(_a0 string) *MockTask_GetReason_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetReason_Call) RunAndReturn(run func() string) *MockTask_GetReason_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetSchema provides a mock function with no fields
|
|
func (_m *MockTask) GetSchema() *schemapb.CollectionSchema {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetSchema")
|
|
}
|
|
|
|
var r0 *schemapb.CollectionSchema
|
|
if rf, ok := ret.Get(0).(func() *schemapb.CollectionSchema); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).(*schemapb.CollectionSchema)
|
|
}
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetSchema_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetSchema'
|
|
type MockTask_GetSchema_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetSchema is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetSchema() *MockTask_GetSchema_Call {
|
|
return &MockTask_GetSchema_Call{Call: _e.mock.On("GetSchema")}
|
|
}
|
|
|
|
func (_c *MockTask_GetSchema_Call) Run(run func()) *MockTask_GetSchema_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetSchema_Call) Return(_a0 *schemapb.CollectionSchema) *MockTask_GetSchema_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetSchema_Call) RunAndReturn(run func() *schemapb.CollectionSchema) *MockTask_GetSchema_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetSlots provides a mock function with no fields
|
|
func (_m *MockTask) GetSlots() int64 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetSlots")
|
|
}
|
|
|
|
var r0 int64
|
|
if rf, ok := ret.Get(0).(func() int64); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(int64)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetSlots_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetSlots'
|
|
type MockTask_GetSlots_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetSlots is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetSlots() *MockTask_GetSlots_Call {
|
|
return &MockTask_GetSlots_Call{Call: _e.mock.On("GetSlots")}
|
|
}
|
|
|
|
func (_c *MockTask_GetSlots_Call) Run(run func()) *MockTask_GetSlots_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetSlots_Call) Return(_a0 int64) *MockTask_GetSlots_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetSlots_Call) RunAndReturn(run func() int64) *MockTask_GetSlots_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetState provides a mock function with no fields
|
|
func (_m *MockTask) GetState() datapb.ImportTaskStateV2 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetState")
|
|
}
|
|
|
|
var r0 datapb.ImportTaskStateV2
|
|
if rf, ok := ret.Get(0).(func() datapb.ImportTaskStateV2); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(datapb.ImportTaskStateV2)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetState_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetState'
|
|
type MockTask_GetState_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetState is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetState() *MockTask_GetState_Call {
|
|
return &MockTask_GetState_Call{Call: _e.mock.On("GetState")}
|
|
}
|
|
|
|
func (_c *MockTask_GetState_Call) Run(run func()) *MockTask_GetState_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetState_Call) Return(_a0 datapb.ImportTaskStateV2) *MockTask_GetState_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetState_Call) RunAndReturn(run func() datapb.ImportTaskStateV2) *MockTask_GetState_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetTaskID provides a mock function with no fields
|
|
func (_m *MockTask) GetTaskID() int64 {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetTaskID")
|
|
}
|
|
|
|
var r0 int64
|
|
if rf, ok := ret.Get(0).(func() int64); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(int64)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetTaskID_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTaskID'
|
|
type MockTask_GetTaskID_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetTaskID is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetTaskID() *MockTask_GetTaskID_Call {
|
|
return &MockTask_GetTaskID_Call{Call: _e.mock.On("GetTaskID")}
|
|
}
|
|
|
|
func (_c *MockTask_GetTaskID_Call) Run(run func()) *MockTask_GetTaskID_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetTaskID_Call) Return(_a0 int64) *MockTask_GetTaskID_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetTaskID_Call) RunAndReturn(run func() int64) *MockTask_GetTaskID_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetType provides a mock function with no fields
|
|
func (_m *MockTask) GetType() TaskType {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetType")
|
|
}
|
|
|
|
var r0 TaskType
|
|
if rf, ok := ret.Get(0).(func() TaskType); ok {
|
|
r0 = rf()
|
|
} else {
|
|
r0 = ret.Get(0).(TaskType)
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetType_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetType'
|
|
type MockTask_GetType_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetType is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetType() *MockTask_GetType_Call {
|
|
return &MockTask_GetType_Call{Call: _e.mock.On("GetType")}
|
|
}
|
|
|
|
func (_c *MockTask_GetType_Call) Run(run func()) *MockTask_GetType_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetType_Call) Return(_a0 TaskType) *MockTask_GetType_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetType_Call) RunAndReturn(run func() TaskType) *MockTask_GetType_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// GetVchannels provides a mock function with no fields
|
|
func (_m *MockTask) GetVchannels() []string {
|
|
ret := _m.Called()
|
|
|
|
if len(ret) == 0 {
|
|
panic("no return value specified for GetVchannels")
|
|
}
|
|
|
|
var r0 []string
|
|
if rf, ok := ret.Get(0).(func() []string); ok {
|
|
r0 = rf()
|
|
} else {
|
|
if ret.Get(0) != nil {
|
|
r0 = ret.Get(0).([]string)
|
|
}
|
|
}
|
|
|
|
return r0
|
|
}
|
|
|
|
// MockTask_GetVchannels_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetVchannels'
|
|
type MockTask_GetVchannels_Call struct {
|
|
*mock.Call
|
|
}
|
|
|
|
// GetVchannels is a helper method to define mock.On call
|
|
func (_e *MockTask_Expecter) GetVchannels() *MockTask_GetVchannels_Call {
|
|
return &MockTask_GetVchannels_Call{Call: _e.mock.On("GetVchannels")}
|
|
}
|
|
|
|
func (_c *MockTask_GetVchannels_Call) Run(run func()) *MockTask_GetVchannels_Call {
|
|
_c.Call.Run(func(args mock.Arguments) {
|
|
run()
|
|
})
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetVchannels_Call) Return(_a0 []string) *MockTask_GetVchannels_Call {
|
|
_c.Call.Return(_a0)
|
|
return _c
|
|
}
|
|
|
|
func (_c *MockTask_GetVchannels_Call) RunAndReturn(run func() []string) *MockTask_GetVchannels_Call {
|
|
_c.Call.Return(run)
|
|
return _c
|
|
}
|
|
|
|
// NewMockTask creates a new instance of MockTask. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
|
|
// The first argument is typically a *testing.T value.
|
|
func NewMockTask(t interface {
|
|
mock.TestingT
|
|
Cleanup(func())
|
|
}) *MockTask {
|
|
mock := &MockTask{}
|
|
mock.Mock.Test(t)
|
|
|
|
t.Cleanup(func() { mock.AssertExpectations(t) })
|
|
|
|
return mock
|
|
}
|