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

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockMQClient is a mock of MQClient interface.
type MockMQClient struct {
	ctrl     *gomock.Controller
	recorder *MockMQClientMockRecorder
	isgomock struct{}
}

// MockMQClientMockRecorder is the mock recorder for MockMQClient.
type MockMQClientMockRecorder struct {
	mock *MockMQClient
}

// NewMockMQClient creates a new mock instance.
func NewMockMQClient(ctrl *gomock.Controller) *MockMQClient {
	mock := &MockMQClient{ctrl: ctrl}
	mock.recorder = &MockMQClientMockRecorder{mock}
	return mock
}

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

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

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

// Subscribe mocks base method.
func (m *MockMQClient) Subscribe(topic, channel string, cmd func(context.Context, []byte) error) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Subscribe", topic, channel, cmd)
}

// Subscribe indicates an expected call of Subscribe.
func (mr *MockMQClientMockRecorder) Subscribe(topic, channel, cmd any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Subscribe", reflect.TypeOf((*MockMQClient)(nil).Subscribe), topic, channel, cmd)
}
