// Code generated by MockGen. DO NOT EDIT.
// Source: ./mq.go
//
// Generated by this command:
//
//	mockgen -source=./mq.go -destination ../ihttpaccessmock/mq.go -package imqaccessmock
//

// Package imqaccessmock is a generated GoMock package.
package imqaccessmock

import (
	context "context"
	reflect "reflect"

	ctopicenum "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/domain/enum/ctopicenum"
	gomock "go.uber.org/mock/gomock"
)

// MockIMqAccess is a mock of IMqAccess interface.
type MockIMqAccess struct {
	ctrl     *gomock.Controller
	recorder *MockIMqAccessMockRecorder
	isgomock struct{}
}

// MockIMqAccessMockRecorder is the mock recorder for MockIMqAccess.
type MockIMqAccessMockRecorder struct {
	mock *MockIMqAccess
}

// NewMockIMqAccess creates a new mock instance.
func NewMockIMqAccess(ctrl *gomock.Controller) *MockIMqAccess {
	mock := &MockIMqAccess{ctrl: ctrl}
	mock.recorder = &MockIMqAccessMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockIMqAccess) EXPECT() *MockIMqAccessMockRecorder {
	return m.recorder
}

// Publish mocks base method.
func (m *MockIMqAccess) Publish(ctx context.Context, topic ctopicenum.MqTopic, msg []byte) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Publish", ctx, topic, msg)
	ret0, _ := ret[0].(error)
	return ret0
}

// Publish indicates an expected call of Publish.
func (mr *MockIMqAccessMockRecorder) Publish(ctx, topic, msg any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publish", reflect.TypeOf((*MockIMqAccess)(nil).Publish), ctx, topic, msg)
}

// Subscribe mocks base method.
func (m *MockIMqAccess) Subscribe(ctx context.Context, topic ctopicenum.MqTopic, fun func([]byte) error) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Subscribe", ctx, topic, fun)
	ret0, _ := ret[0].(error)
	return ret0
}

// Subscribe indicates an expected call of Subscribe.
func (mr *MockIMqAccessMockRecorder) Subscribe(ctx, topic, fun any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subscribe", reflect.TypeOf((*MockIMqAccess)(nil).Subscribe), ctx, topic, fun)
}
