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

package datacoord

import (
	context "context"

	mock "github.com/stretchr/testify/mock"
)

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

type MockImportMeta_Expecter struct {
	mock *mock.Mock
}

func (_m *MockImportMeta) EXPECT() *MockImportMeta_Expecter {
	return &MockImportMeta_Expecter{mock: &_m.Mock}
}

// AddJob provides a mock function with given fields: ctx, job
func (_m *MockImportMeta) AddJob(ctx context.Context, job ImportJob) error {
	ret := _m.Called(ctx, job)

	if len(ret) == 0 {
		panic("no return value specified for AddJob")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, ImportJob) error); ok {
		r0 = rf(ctx, job)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_AddJob_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AddJob'
type MockImportMeta_AddJob_Call struct {
	*mock.Call
}

// AddJob is a helper method to define mock.On call
//   - ctx context.Context
//   - job ImportJob
func (_e *MockImportMeta_Expecter) AddJob(ctx interface{}, job interface{}) *MockImportMeta_AddJob_Call {
	return &MockImportMeta_AddJob_Call{Call: _e.mock.On("AddJob", ctx, job)}
}

func (_c *MockImportMeta_AddJob_Call) Run(run func(ctx context.Context, job ImportJob)) *MockImportMeta_AddJob_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(ImportJob))
	})
	return _c
}

func (_c *MockImportMeta_AddJob_Call) Return(_a0 error) *MockImportMeta_AddJob_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_AddJob_Call) RunAndReturn(run func(context.Context, ImportJob) error) *MockImportMeta_AddJob_Call {
	_c.Call.Return(run)
	return _c
}

// AddTask provides a mock function with given fields: ctx, task
func (_m *MockImportMeta) AddTask(ctx context.Context, task ImportTask) error {
	ret := _m.Called(ctx, task)

	if len(ret) == 0 {
		panic("no return value specified for AddTask")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, ImportTask) error); ok {
		r0 = rf(ctx, task)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_AddTask_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AddTask'
type MockImportMeta_AddTask_Call struct {
	*mock.Call
}

// AddTask is a helper method to define mock.On call
//   - ctx context.Context
//   - task ImportTask
func (_e *MockImportMeta_Expecter) AddTask(ctx interface{}, task interface{}) *MockImportMeta_AddTask_Call {
	return &MockImportMeta_AddTask_Call{Call: _e.mock.On("AddTask", ctx, task)}
}

func (_c *MockImportMeta_AddTask_Call) Run(run func(ctx context.Context, task ImportTask)) *MockImportMeta_AddTask_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(ImportTask))
	})
	return _c
}

func (_c *MockImportMeta_AddTask_Call) Return(_a0 error) *MockImportMeta_AddTask_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_AddTask_Call) RunAndReturn(run func(context.Context, ImportTask) error) *MockImportMeta_AddTask_Call {
	_c.Call.Return(run)
	return _c
}

// CountJobBy provides a mock function with given fields: ctx, filters
func (_m *MockImportMeta) CountJobBy(ctx context.Context, filters ...ImportJobFilter) int {
	_va := make([]interface{}, len(filters))
	for _i := range filters {
		_va[_i] = filters[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for CountJobBy")
	}

	var r0 int
	if rf, ok := ret.Get(0).(func(context.Context, ...ImportJobFilter) int); ok {
		r0 = rf(ctx, filters...)
	} else {
		r0 = ret.Get(0).(int)
	}

	return r0
}

// MockImportMeta_CountJobBy_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'CountJobBy'
type MockImportMeta_CountJobBy_Call struct {
	*mock.Call
}

// CountJobBy is a helper method to define mock.On call
//   - ctx context.Context
//   - filters ...ImportJobFilter
func (_e *MockImportMeta_Expecter) CountJobBy(ctx interface{}, filters ...interface{}) *MockImportMeta_CountJobBy_Call {
	return &MockImportMeta_CountJobBy_Call{Call: _e.mock.On("CountJobBy",
		append([]interface{}{ctx}, filters...)...)}
}

func (_c *MockImportMeta_CountJobBy_Call) Run(run func(ctx context.Context, filters ...ImportJobFilter)) *MockImportMeta_CountJobBy_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]ImportJobFilter, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(ImportJobFilter)
			}
		}
		run(args[0].(context.Context), variadicArgs...)
	})
	return _c
}

func (_c *MockImportMeta_CountJobBy_Call) Return(_a0 int) *MockImportMeta_CountJobBy_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_CountJobBy_Call) RunAndReturn(run func(context.Context, ...ImportJobFilter) int) *MockImportMeta_CountJobBy_Call {
	_c.Call.Return(run)
	return _c
}

// GetJob provides a mock function with given fields: ctx, jobID
func (_m *MockImportMeta) GetJob(ctx context.Context, jobID int64) ImportJob {
	ret := _m.Called(ctx, jobID)

	if len(ret) == 0 {
		panic("no return value specified for GetJob")
	}

	var r0 ImportJob
	if rf, ok := ret.Get(0).(func(context.Context, int64) ImportJob); ok {
		r0 = rf(ctx, jobID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(ImportJob)
		}
	}

	return r0
}

// MockImportMeta_GetJob_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetJob'
type MockImportMeta_GetJob_Call struct {
	*mock.Call
}

// GetJob is a helper method to define mock.On call
//   - ctx context.Context
//   - jobID int64
func (_e *MockImportMeta_Expecter) GetJob(ctx interface{}, jobID interface{}) *MockImportMeta_GetJob_Call {
	return &MockImportMeta_GetJob_Call{Call: _e.mock.On("GetJob", ctx, jobID)}
}

func (_c *MockImportMeta_GetJob_Call) Run(run func(ctx context.Context, jobID int64)) *MockImportMeta_GetJob_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(int64))
	})
	return _c
}

func (_c *MockImportMeta_GetJob_Call) Return(_a0 ImportJob) *MockImportMeta_GetJob_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_GetJob_Call) RunAndReturn(run func(context.Context, int64) ImportJob) *MockImportMeta_GetJob_Call {
	_c.Call.Return(run)
	return _c
}

// GetJobBy provides a mock function with given fields: ctx, filters
func (_m *MockImportMeta) GetJobBy(ctx context.Context, filters ...ImportJobFilter) []ImportJob {
	_va := make([]interface{}, len(filters))
	for _i := range filters {
		_va[_i] = filters[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for GetJobBy")
	}

	var r0 []ImportJob
	if rf, ok := ret.Get(0).(func(context.Context, ...ImportJobFilter) []ImportJob); ok {
		r0 = rf(ctx, filters...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]ImportJob)
		}
	}

	return r0
}

// MockImportMeta_GetJobBy_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetJobBy'
type MockImportMeta_GetJobBy_Call struct {
	*mock.Call
}

// GetJobBy is a helper method to define mock.On call
//   - ctx context.Context
//   - filters ...ImportJobFilter
func (_e *MockImportMeta_Expecter) GetJobBy(ctx interface{}, filters ...interface{}) *MockImportMeta_GetJobBy_Call {
	return &MockImportMeta_GetJobBy_Call{Call: _e.mock.On("GetJobBy",
		append([]interface{}{ctx}, filters...)...)}
}

func (_c *MockImportMeta_GetJobBy_Call) Run(run func(ctx context.Context, filters ...ImportJobFilter)) *MockImportMeta_GetJobBy_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]ImportJobFilter, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(ImportJobFilter)
			}
		}
		run(args[0].(context.Context), variadicArgs...)
	})
	return _c
}

func (_c *MockImportMeta_GetJobBy_Call) Return(_a0 []ImportJob) *MockImportMeta_GetJobBy_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_GetJobBy_Call) RunAndReturn(run func(context.Context, ...ImportJobFilter) []ImportJob) *MockImportMeta_GetJobBy_Call {
	_c.Call.Return(run)
	return _c
}

// GetTask provides a mock function with given fields: ctx, taskID
func (_m *MockImportMeta) GetTask(ctx context.Context, taskID int64) ImportTask {
	ret := _m.Called(ctx, taskID)

	if len(ret) == 0 {
		panic("no return value specified for GetTask")
	}

	var r0 ImportTask
	if rf, ok := ret.Get(0).(func(context.Context, int64) ImportTask); ok {
		r0 = rf(ctx, taskID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(ImportTask)
		}
	}

	return r0
}

// MockImportMeta_GetTask_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTask'
type MockImportMeta_GetTask_Call struct {
	*mock.Call
}

// GetTask is a helper method to define mock.On call
//   - ctx context.Context
//   - taskID int64
func (_e *MockImportMeta_Expecter) GetTask(ctx interface{}, taskID interface{}) *MockImportMeta_GetTask_Call {
	return &MockImportMeta_GetTask_Call{Call: _e.mock.On("GetTask", ctx, taskID)}
}

func (_c *MockImportMeta_GetTask_Call) Run(run func(ctx context.Context, taskID int64)) *MockImportMeta_GetTask_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(int64))
	})
	return _c
}

func (_c *MockImportMeta_GetTask_Call) Return(_a0 ImportTask) *MockImportMeta_GetTask_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_GetTask_Call) RunAndReturn(run func(context.Context, int64) ImportTask) *MockImportMeta_GetTask_Call {
	_c.Call.Return(run)
	return _c
}

// GetTaskBy provides a mock function with given fields: ctx, filters
func (_m *MockImportMeta) GetTaskBy(ctx context.Context, filters ...ImportTaskFilter) []ImportTask {
	_va := make([]interface{}, len(filters))
	for _i := range filters {
		_va[_i] = filters[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for GetTaskBy")
	}

	var r0 []ImportTask
	if rf, ok := ret.Get(0).(func(context.Context, ...ImportTaskFilter) []ImportTask); ok {
		r0 = rf(ctx, filters...)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]ImportTask)
		}
	}

	return r0
}

// MockImportMeta_GetTaskBy_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTaskBy'
type MockImportMeta_GetTaskBy_Call struct {
	*mock.Call
}

// GetTaskBy is a helper method to define mock.On call
//   - ctx context.Context
//   - filters ...ImportTaskFilter
func (_e *MockImportMeta_Expecter) GetTaskBy(ctx interface{}, filters ...interface{}) *MockImportMeta_GetTaskBy_Call {
	return &MockImportMeta_GetTaskBy_Call{Call: _e.mock.On("GetTaskBy",
		append([]interface{}{ctx}, filters...)...)}
}

func (_c *MockImportMeta_GetTaskBy_Call) Run(run func(ctx context.Context, filters ...ImportTaskFilter)) *MockImportMeta_GetTaskBy_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]ImportTaskFilter, len(args)-1)
		for i, a := range args[1:] {
			if a != nil {
				variadicArgs[i] = a.(ImportTaskFilter)
			}
		}
		run(args[0].(context.Context), variadicArgs...)
	})
	return _c
}

func (_c *MockImportMeta_GetTaskBy_Call) Return(_a0 []ImportTask) *MockImportMeta_GetTaskBy_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_GetTaskBy_Call) RunAndReturn(run func(context.Context, ...ImportTaskFilter) []ImportTask) *MockImportMeta_GetTaskBy_Call {
	_c.Call.Return(run)
	return _c
}

// RemoveJob provides a mock function with given fields: ctx, jobID
func (_m *MockImportMeta) RemoveJob(ctx context.Context, jobID int64) error {
	ret := _m.Called(ctx, jobID)

	if len(ret) == 0 {
		panic("no return value specified for RemoveJob")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, int64) error); ok {
		r0 = rf(ctx, jobID)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_RemoveJob_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RemoveJob'
type MockImportMeta_RemoveJob_Call struct {
	*mock.Call
}

// RemoveJob is a helper method to define mock.On call
//   - ctx context.Context
//   - jobID int64
func (_e *MockImportMeta_Expecter) RemoveJob(ctx interface{}, jobID interface{}) *MockImportMeta_RemoveJob_Call {
	return &MockImportMeta_RemoveJob_Call{Call: _e.mock.On("RemoveJob", ctx, jobID)}
}

func (_c *MockImportMeta_RemoveJob_Call) Run(run func(ctx context.Context, jobID int64)) *MockImportMeta_RemoveJob_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(int64))
	})
	return _c
}

func (_c *MockImportMeta_RemoveJob_Call) Return(_a0 error) *MockImportMeta_RemoveJob_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_RemoveJob_Call) RunAndReturn(run func(context.Context, int64) error) *MockImportMeta_RemoveJob_Call {
	_c.Call.Return(run)
	return _c
}

// RemoveTask provides a mock function with given fields: ctx, taskID
func (_m *MockImportMeta) RemoveTask(ctx context.Context, taskID int64) error {
	ret := _m.Called(ctx, taskID)

	if len(ret) == 0 {
		panic("no return value specified for RemoveTask")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, int64) error); ok {
		r0 = rf(ctx, taskID)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_RemoveTask_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'RemoveTask'
type MockImportMeta_RemoveTask_Call struct {
	*mock.Call
}

// RemoveTask is a helper method to define mock.On call
//   - ctx context.Context
//   - taskID int64
func (_e *MockImportMeta_Expecter) RemoveTask(ctx interface{}, taskID interface{}) *MockImportMeta_RemoveTask_Call {
	return &MockImportMeta_RemoveTask_Call{Call: _e.mock.On("RemoveTask", ctx, taskID)}
}

func (_c *MockImportMeta_RemoveTask_Call) Run(run func(ctx context.Context, taskID int64)) *MockImportMeta_RemoveTask_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(int64))
	})
	return _c
}

func (_c *MockImportMeta_RemoveTask_Call) Return(_a0 error) *MockImportMeta_RemoveTask_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_RemoveTask_Call) RunAndReturn(run func(context.Context, int64) error) *MockImportMeta_RemoveTask_Call {
	_c.Call.Return(run)
	return _c
}

// TaskStatsJSON provides a mock function with given fields: ctx
func (_m *MockImportMeta) TaskStatsJSON(ctx context.Context) string {
	ret := _m.Called(ctx)

	if len(ret) == 0 {
		panic("no return value specified for TaskStatsJSON")
	}

	var r0 string
	if rf, ok := ret.Get(0).(func(context.Context) string); ok {
		r0 = rf(ctx)
	} else {
		r0 = ret.Get(0).(string)
	}

	return r0
}

// MockImportMeta_TaskStatsJSON_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'TaskStatsJSON'
type MockImportMeta_TaskStatsJSON_Call struct {
	*mock.Call
}

// TaskStatsJSON is a helper method to define mock.On call
//   - ctx context.Context
func (_e *MockImportMeta_Expecter) TaskStatsJSON(ctx interface{}) *MockImportMeta_TaskStatsJSON_Call {
	return &MockImportMeta_TaskStatsJSON_Call{Call: _e.mock.On("TaskStatsJSON", ctx)}
}

func (_c *MockImportMeta_TaskStatsJSON_Call) Run(run func(ctx context.Context)) *MockImportMeta_TaskStatsJSON_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context))
	})
	return _c
}

func (_c *MockImportMeta_TaskStatsJSON_Call) Return(_a0 string) *MockImportMeta_TaskStatsJSON_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_TaskStatsJSON_Call) RunAndReturn(run func(context.Context) string) *MockImportMeta_TaskStatsJSON_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateJob provides a mock function with given fields: ctx, jobID, actions
func (_m *MockImportMeta) UpdateJob(ctx context.Context, jobID int64, actions ...UpdateJobAction) error {
	_va := make([]interface{}, len(actions))
	for _i := range actions {
		_va[_i] = actions[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, jobID)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for UpdateJob")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, int64, ...UpdateJobAction) error); ok {
		r0 = rf(ctx, jobID, actions...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_UpdateJob_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UpdateJob'
type MockImportMeta_UpdateJob_Call struct {
	*mock.Call
}

// UpdateJob is a helper method to define mock.On call
//   - ctx context.Context
//   - jobID int64
//   - actions ...UpdateJobAction
func (_e *MockImportMeta_Expecter) UpdateJob(ctx interface{}, jobID interface{}, actions ...interface{}) *MockImportMeta_UpdateJob_Call {
	return &MockImportMeta_UpdateJob_Call{Call: _e.mock.On("UpdateJob",
		append([]interface{}{ctx, jobID}, actions...)...)}
}

func (_c *MockImportMeta_UpdateJob_Call) Run(run func(ctx context.Context, jobID int64, actions ...UpdateJobAction)) *MockImportMeta_UpdateJob_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]UpdateJobAction, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(UpdateJobAction)
			}
		}
		run(args[0].(context.Context), args[1].(int64), variadicArgs...)
	})
	return _c
}

func (_c *MockImportMeta_UpdateJob_Call) Return(_a0 error) *MockImportMeta_UpdateJob_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_UpdateJob_Call) RunAndReturn(run func(context.Context, int64, ...UpdateJobAction) error) *MockImportMeta_UpdateJob_Call {
	_c.Call.Return(run)
	return _c
}

// UpdateTask provides a mock function with given fields: ctx, taskID, actions
func (_m *MockImportMeta) UpdateTask(ctx context.Context, taskID int64, actions ...UpdateAction) error {
	_va := make([]interface{}, len(actions))
	for _i := range actions {
		_va[_i] = actions[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, ctx, taskID)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	if len(ret) == 0 {
		panic("no return value specified for UpdateTask")
	}

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, int64, ...UpdateAction) error); ok {
		r0 = rf(ctx, taskID, actions...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// MockImportMeta_UpdateTask_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'UpdateTask'
type MockImportMeta_UpdateTask_Call struct {
	*mock.Call
}

// UpdateTask is a helper method to define mock.On call
//   - ctx context.Context
//   - taskID int64
//   - actions ...UpdateAction
func (_e *MockImportMeta_Expecter) UpdateTask(ctx interface{}, taskID interface{}, actions ...interface{}) *MockImportMeta_UpdateTask_Call {
	return &MockImportMeta_UpdateTask_Call{Call: _e.mock.On("UpdateTask",
		append([]interface{}{ctx, taskID}, actions...)...)}
}

func (_c *MockImportMeta_UpdateTask_Call) Run(run func(ctx context.Context, taskID int64, actions ...UpdateAction)) *MockImportMeta_UpdateTask_Call {
	_c.Call.Run(func(args mock.Arguments) {
		variadicArgs := make([]UpdateAction, len(args)-2)
		for i, a := range args[2:] {
			if a != nil {
				variadicArgs[i] = a.(UpdateAction)
			}
		}
		run(args[0].(context.Context), args[1].(int64), variadicArgs...)
	})
	return _c
}

func (_c *MockImportMeta_UpdateTask_Call) Return(_a0 error) *MockImportMeta_UpdateTask_Call {
	_c.Call.Return(_a0)
	return _c
}

func (_c *MockImportMeta_UpdateTask_Call) RunAndReturn(run func(context.Context, int64, ...UpdateAction) error) *MockImportMeta_UpdateTask_Call {
	_c.Call.Return(run)
	return _c
}

// NewMockImportMeta creates a new instance of MockImportMeta. 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 NewMockImportMeta(t interface {
	mock.TestingT
	Cleanup(func())
}) *MockImportMeta {
	mock := &MockImportMeta{}
	mock.Mock.Test(t)

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

	return mock
}
