// Code generated by MockGen. DO NOT EDIT.
// Source: replication_queue.go
//
// Generated by this command:
//
//	mockgen -package domain -source replication_queue.go -destination replication_queue_mock.go -self_package github.com/uber/common/persistence
//

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

import (
	context "context"
	reflect "reflect"

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

	types "github.com/uber/cadence/common/types"
)

// MockReplicationQueue is a mock of ReplicationQueue interface.
type MockReplicationQueue struct {
	ctrl     *gomock.Controller
	recorder *MockReplicationQueueMockRecorder
	isgomock struct{}
}

// MockReplicationQueueMockRecorder is the mock recorder for MockReplicationQueue.
type MockReplicationQueueMockRecorder struct {
	mock *MockReplicationQueue
}

// NewMockReplicationQueue creates a new mock instance.
func NewMockReplicationQueue(ctrl *gomock.Controller) *MockReplicationQueue {
	mock := &MockReplicationQueue{ctrl: ctrl}
	mock.recorder = &MockReplicationQueueMockRecorder{mock}
	return mock
}

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

// DeleteMessageFromDLQ mocks base method.
func (m *MockReplicationQueue) DeleteMessageFromDLQ(ctx context.Context, messageID int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteMessageFromDLQ", ctx, messageID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteMessageFromDLQ indicates an expected call of DeleteMessageFromDLQ.
func (mr *MockReplicationQueueMockRecorder) DeleteMessageFromDLQ(ctx, messageID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMessageFromDLQ", reflect.TypeOf((*MockReplicationQueue)(nil).DeleteMessageFromDLQ), ctx, messageID)
}

// GetAckLevels mocks base method.
func (m *MockReplicationQueue) GetAckLevels(ctx context.Context) (map[string]int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAckLevels", ctx)
	ret0, _ := ret[0].(map[string]int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAckLevels indicates an expected call of GetAckLevels.
func (mr *MockReplicationQueueMockRecorder) GetAckLevels(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAckLevels", reflect.TypeOf((*MockReplicationQueue)(nil).GetAckLevels), ctx)
}

// GetDLQAckLevel mocks base method.
func (m *MockReplicationQueue) GetDLQAckLevel(ctx context.Context) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDLQAckLevel", ctx)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetDLQAckLevel indicates an expected call of GetDLQAckLevel.
func (mr *MockReplicationQueueMockRecorder) GetDLQAckLevel(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLQAckLevel", reflect.TypeOf((*MockReplicationQueue)(nil).GetDLQAckLevel), ctx)
}

// GetDLQSize mocks base method.
func (m *MockReplicationQueue) GetDLQSize(ctx context.Context) (int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetDLQSize", ctx)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetDLQSize indicates an expected call of GetDLQSize.
func (mr *MockReplicationQueueMockRecorder) GetDLQSize(ctx any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDLQSize", reflect.TypeOf((*MockReplicationQueue)(nil).GetDLQSize), ctx)
}

// GetMessagesFromDLQ mocks base method.
func (m *MockReplicationQueue) GetMessagesFromDLQ(ctx context.Context, firstMessageID, lastMessageID int64, pageSize int, pageToken []byte) ([]*types.ReplicationTask, []byte, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetMessagesFromDLQ", ctx, firstMessageID, lastMessageID, pageSize, pageToken)
	ret0, _ := ret[0].([]*types.ReplicationTask)
	ret1, _ := ret[1].([]byte)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetMessagesFromDLQ indicates an expected call of GetMessagesFromDLQ.
func (mr *MockReplicationQueueMockRecorder) GetMessagesFromDLQ(ctx, firstMessageID, lastMessageID, pageSize, pageToken any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMessagesFromDLQ", reflect.TypeOf((*MockReplicationQueue)(nil).GetMessagesFromDLQ), ctx, firstMessageID, lastMessageID, pageSize, pageToken)
}

// GetReplicationMessages mocks base method.
func (m *MockReplicationQueue) GetReplicationMessages(ctx context.Context, lastMessageID int64, maxCount int) ([]*types.ReplicationTask, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetReplicationMessages", ctx, lastMessageID, maxCount)
	ret0, _ := ret[0].([]*types.ReplicationTask)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// GetReplicationMessages indicates an expected call of GetReplicationMessages.
func (mr *MockReplicationQueueMockRecorder) GetReplicationMessages(ctx, lastMessageID, maxCount any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetReplicationMessages", reflect.TypeOf((*MockReplicationQueue)(nil).GetReplicationMessages), ctx, lastMessageID, maxCount)
}

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

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

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

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

// RangeDeleteMessagesFromDLQ mocks base method.
func (m *MockReplicationQueue) RangeDeleteMessagesFromDLQ(ctx context.Context, firstMessageID, lastMessageID int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RangeDeleteMessagesFromDLQ", ctx, firstMessageID, lastMessageID)
	ret0, _ := ret[0].(error)
	return ret0
}

// RangeDeleteMessagesFromDLQ indicates an expected call of RangeDeleteMessagesFromDLQ.
func (mr *MockReplicationQueueMockRecorder) RangeDeleteMessagesFromDLQ(ctx, firstMessageID, lastMessageID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RangeDeleteMessagesFromDLQ", reflect.TypeOf((*MockReplicationQueue)(nil).RangeDeleteMessagesFromDLQ), ctx, firstMessageID, lastMessageID)
}

// Start mocks base method.
func (m *MockReplicationQueue) Start() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Start")
}

// Start indicates an expected call of Start.
func (mr *MockReplicationQueueMockRecorder) Start() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockReplicationQueue)(nil).Start))
}

// Stop mocks base method.
func (m *MockReplicationQueue) Stop() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Stop")
}

// Stop indicates an expected call of Stop.
func (mr *MockReplicationQueueMockRecorder) Stop() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stop", reflect.TypeOf((*MockReplicationQueue)(nil).Stop))
}

// UpdateAckLevel mocks base method.
func (m *MockReplicationQueue) UpdateAckLevel(ctx context.Context, lastProcessedMessageID int64, clusterName string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateAckLevel", ctx, lastProcessedMessageID, clusterName)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateAckLevel indicates an expected call of UpdateAckLevel.
func (mr *MockReplicationQueueMockRecorder) UpdateAckLevel(ctx, lastProcessedMessageID, clusterName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAckLevel", reflect.TypeOf((*MockReplicationQueue)(nil).UpdateAckLevel), ctx, lastProcessedMessageID, clusterName)
}

// UpdateDLQAckLevel mocks base method.
func (m *MockReplicationQueue) UpdateDLQAckLevel(ctx context.Context, lastProcessedMessageID int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateDLQAckLevel", ctx, lastProcessedMessageID)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateDLQAckLevel indicates an expected call of UpdateDLQAckLevel.
func (mr *MockReplicationQueueMockRecorder) UpdateDLQAckLevel(ctx, lastProcessedMessageID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateDLQAckLevel", reflect.TypeOf((*MockReplicationQueue)(nil).UpdateDLQAckLevel), ctx, lastProcessedMessageID)
}
