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

package mock_util

import (
	context "context"

	message "github.com/milvus-io/milvus/pkg/v3/streaming/util/message"
	mock "github.com/stretchr/testify/mock"
)

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

type MockMsgHandler_Expecter struct {
	mock *mock.Mock
}

func (_m *MockMsgHandler) EXPECT() *MockMsgHandler_Expecter {
	return &MockMsgHandler_Expecter{mock: &_m.Mock}
}

// HandleAlterCollection provides a mock function with given fields: ctx, alterCollectionMsg
func (_m *MockMsgHandler) HandleAlterCollection(ctx context.Context, alterCollectionMsg message.ImmutableAlterCollectionMessageV2) error {
	ret := _m.Called(ctx, alterCollectionMsg)

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

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

	return r0
}

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

// HandleAlterCollection is a helper method to define mock.On call
//   - ctx context.Context
//   - alterCollectionMsg message.ImmutableAlterCollectionMessageV2
func (_e *MockMsgHandler_Expecter) HandleAlterCollection(ctx interface{}, alterCollectionMsg interface{}) *MockMsgHandler_HandleAlterCollection_Call {
	return &MockMsgHandler_HandleAlterCollection_Call{Call: _e.mock.On("HandleAlterCollection", ctx, alterCollectionMsg)}
}

func (_c *MockMsgHandler_HandleAlterCollection_Call) Run(run func(ctx context.Context, alterCollectionMsg message.ImmutableAlterCollectionMessageV2)) *MockMsgHandler_HandleAlterCollection_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(message.ImmutableAlterCollectionMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleAlterCollection_Call) RunAndReturn(run func(context.Context, message.ImmutableAlterCollectionMessageV2) error) *MockMsgHandler_HandleAlterCollection_Call {
	_c.Call.Return(run)
	return _c
}

// HandleAlterWAL provides a mock function with given fields: ctx, alterWALMsg, vchannel
func (_m *MockMsgHandler) HandleAlterWAL(ctx context.Context, alterWALMsg message.ImmutableAlterWALMessageV2, vchannel string) error {
	ret := _m.Called(ctx, alterWALMsg, vchannel)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, message.ImmutableAlterWALMessageV2, string) error); ok {
		r0 = rf(ctx, alterWALMsg, vchannel)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// HandleAlterWAL is a helper method to define mock.On call
//   - ctx context.Context
//   - alterWALMsg message.ImmutableAlterWALMessageV2
//   - vchannel string
func (_e *MockMsgHandler_Expecter) HandleAlterWAL(ctx interface{}, alterWALMsg interface{}, vchannel interface{}) *MockMsgHandler_HandleAlterWAL_Call {
	return &MockMsgHandler_HandleAlterWAL_Call{Call: _e.mock.On("HandleAlterWAL", ctx, alterWALMsg, vchannel)}
}

func (_c *MockMsgHandler_HandleAlterWAL_Call) Run(run func(ctx context.Context, alterWALMsg message.ImmutableAlterWALMessageV2, vchannel string)) *MockMsgHandler_HandleAlterWAL_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(message.ImmutableAlterWALMessageV2), args[2].(string))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleAlterWAL_Call) RunAndReturn(run func(context.Context, message.ImmutableAlterWALMessageV2, string) error) *MockMsgHandler_HandleAlterWAL_Call {
	_c.Call.Return(run)
	return _c
}

// HandleCreateSegment provides a mock function with given fields: ctx, createSegmentMsg
func (_m *MockMsgHandler) HandleCreateSegment(ctx context.Context, createSegmentMsg message.ImmutableCreateSegmentMessageV2) error {
	ret := _m.Called(ctx, createSegmentMsg)

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

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

	return r0
}

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

// HandleCreateSegment is a helper method to define mock.On call
//   - ctx context.Context
//   - createSegmentMsg message.ImmutableCreateSegmentMessageV2
func (_e *MockMsgHandler_Expecter) HandleCreateSegment(ctx interface{}, createSegmentMsg interface{}) *MockMsgHandler_HandleCreateSegment_Call {
	return &MockMsgHandler_HandleCreateSegment_Call{Call: _e.mock.On("HandleCreateSegment", ctx, createSegmentMsg)}
}

func (_c *MockMsgHandler_HandleCreateSegment_Call) Run(run func(ctx context.Context, createSegmentMsg message.ImmutableCreateSegmentMessageV2)) *MockMsgHandler_HandleCreateSegment_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(message.ImmutableCreateSegmentMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleCreateSegment_Call) RunAndReturn(run func(context.Context, message.ImmutableCreateSegmentMessageV2) error) *MockMsgHandler_HandleCreateSegment_Call {
	_c.Call.Return(run)
	return _c
}

// HandleFlush provides a mock function with given fields: flushMsg
func (_m *MockMsgHandler) HandleFlush(flushMsg message.ImmutableFlushMessageV2) error {
	ret := _m.Called(flushMsg)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(message.ImmutableFlushMessageV2) error); ok {
		r0 = rf(flushMsg)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// HandleFlush is a helper method to define mock.On call
//   - flushMsg message.ImmutableFlushMessageV2
func (_e *MockMsgHandler_Expecter) HandleFlush(flushMsg interface{}) *MockMsgHandler_HandleFlush_Call {
	return &MockMsgHandler_HandleFlush_Call{Call: _e.mock.On("HandleFlush", flushMsg)}
}

func (_c *MockMsgHandler_HandleFlush_Call) Run(run func(flushMsg message.ImmutableFlushMessageV2)) *MockMsgHandler_HandleFlush_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(message.ImmutableFlushMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleFlush_Call) RunAndReturn(run func(message.ImmutableFlushMessageV2) error) *MockMsgHandler_HandleFlush_Call {
	_c.Call.Return(run)
	return _c
}

// HandleFlushAll provides a mock function with given fields: vchannel, flushAllMsg
func (_m *MockMsgHandler) HandleFlushAll(vchannel string, flushAllMsg message.ImmutableFlushAllMessageV2) error {
	ret := _m.Called(vchannel, flushAllMsg)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(string, message.ImmutableFlushAllMessageV2) error); ok {
		r0 = rf(vchannel, flushAllMsg)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// HandleFlushAll is a helper method to define mock.On call
//   - vchannel string
//   - flushAllMsg message.ImmutableFlushAllMessageV2
func (_e *MockMsgHandler_Expecter) HandleFlushAll(vchannel interface{}, flushAllMsg interface{}) *MockMsgHandler_HandleFlushAll_Call {
	return &MockMsgHandler_HandleFlushAll_Call{Call: _e.mock.On("HandleFlushAll", vchannel, flushAllMsg)}
}

func (_c *MockMsgHandler_HandleFlushAll_Call) Run(run func(vchannel string, flushAllMsg message.ImmutableFlushAllMessageV2)) *MockMsgHandler_HandleFlushAll_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(string), args[1].(message.ImmutableFlushAllMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleFlushAll_Call) RunAndReturn(run func(string, message.ImmutableFlushAllMessageV2) error) *MockMsgHandler_HandleFlushAll_Call {
	_c.Call.Return(run)
	return _c
}

// HandleManualFlush provides a mock function with given fields: flushMsg
func (_m *MockMsgHandler) HandleManualFlush(flushMsg message.ImmutableManualFlushMessageV2) error {
	ret := _m.Called(flushMsg)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(message.ImmutableManualFlushMessageV2) error); ok {
		r0 = rf(flushMsg)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// HandleManualFlush is a helper method to define mock.On call
//   - flushMsg message.ImmutableManualFlushMessageV2
func (_e *MockMsgHandler_Expecter) HandleManualFlush(flushMsg interface{}) *MockMsgHandler_HandleManualFlush_Call {
	return &MockMsgHandler_HandleManualFlush_Call{Call: _e.mock.On("HandleManualFlush", flushMsg)}
}

func (_c *MockMsgHandler_HandleManualFlush_Call) Run(run func(flushMsg message.ImmutableManualFlushMessageV2)) *MockMsgHandler_HandleManualFlush_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(message.ImmutableManualFlushMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleManualFlush_Call) RunAndReturn(run func(message.ImmutableManualFlushMessageV2) error) *MockMsgHandler_HandleManualFlush_Call {
	_c.Call.Return(run)
	return _c
}

// HandleSchemaChange provides a mock function with given fields: ctx, schemaChangeMsg
func (_m *MockMsgHandler) HandleSchemaChange(ctx context.Context, schemaChangeMsg message.ImmutableSchemaChangeMessageV2) error {
	ret := _m.Called(ctx, schemaChangeMsg)

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

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

	return r0
}

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

// HandleSchemaChange is a helper method to define mock.On call
//   - ctx context.Context
//   - schemaChangeMsg message.ImmutableSchemaChangeMessageV2
func (_e *MockMsgHandler_Expecter) HandleSchemaChange(ctx interface{}, schemaChangeMsg interface{}) *MockMsgHandler_HandleSchemaChange_Call {
	return &MockMsgHandler_HandleSchemaChange_Call{Call: _e.mock.On("HandleSchemaChange", ctx, schemaChangeMsg)}
}

func (_c *MockMsgHandler_HandleSchemaChange_Call) Run(run func(ctx context.Context, schemaChangeMsg message.ImmutableSchemaChangeMessageV2)) *MockMsgHandler_HandleSchemaChange_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(context.Context), args[1].(message.ImmutableSchemaChangeMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleSchemaChange_Call) RunAndReturn(run func(context.Context, message.ImmutableSchemaChangeMessageV2) error) *MockMsgHandler_HandleSchemaChange_Call {
	_c.Call.Return(run)
	return _c
}

// HandleTruncateCollection provides a mock function with given fields: truncateCollectionMsg
func (_m *MockMsgHandler) HandleTruncateCollection(truncateCollectionMsg message.ImmutableTruncateCollectionMessageV2) error {
	ret := _m.Called(truncateCollectionMsg)

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

	var r0 error
	if rf, ok := ret.Get(0).(func(message.ImmutableTruncateCollectionMessageV2) error); ok {
		r0 = rf(truncateCollectionMsg)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// HandleTruncateCollection is a helper method to define mock.On call
//   - truncateCollectionMsg message.ImmutableTruncateCollectionMessageV2
func (_e *MockMsgHandler_Expecter) HandleTruncateCollection(truncateCollectionMsg interface{}) *MockMsgHandler_HandleTruncateCollection_Call {
	return &MockMsgHandler_HandleTruncateCollection_Call{Call: _e.mock.On("HandleTruncateCollection", truncateCollectionMsg)}
}

func (_c *MockMsgHandler_HandleTruncateCollection_Call) Run(run func(truncateCollectionMsg message.ImmutableTruncateCollectionMessageV2)) *MockMsgHandler_HandleTruncateCollection_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run(args[0].(message.ImmutableTruncateCollectionMessageV2))
	})
	return _c
}

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

func (_c *MockMsgHandler_HandleTruncateCollection_Call) RunAndReturn(run func(message.ImmutableTruncateCollectionMessageV2) error) *MockMsgHandler_HandleTruncateCollection_Call {
	_c.Call.Return(run)
	return _c
}

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

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

	return mock
}
