// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/devops/pkg/service/premiumupgrade/repo (interfaces: Repo)
//
// Generated by this command:
//
//	mockgen -destination repo_mock.go -package=repo github.com/tidbcloud/devops/pkg/service/premiumupgrade/repo Repo
//

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

import (
	context "context"
	reflect "reflect"
	time "time"

	cloudconfig "github.com/tidbcloud/devops/entity/cloudconfig"
	premiumupgrade "github.com/tidbcloud/devops/entity/premiumupgrade"
	gomock "go.uber.org/mock/gomock"
)

// MockRepo is a mock of Repo interface.
type MockRepo struct {
	ctrl     *gomock.Controller
	recorder *MockRepoMockRecorder
	isgomock struct{}
}

// MockRepoMockRecorder is the mock recorder for MockRepo.
type MockRepoMockRecorder struct {
	mock *MockRepo
}

// NewMockRepo creates a new mock instance.
func NewMockRepo(ctrl *gomock.Controller) *MockRepo {
	mock := &MockRepo{ctrl: ctrl}
	mock.recorder = &MockRepoMockRecorder{mock}
	return mock
}

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

// ClaimPlanStatus mocks base method.
func (m *MockRepo) ClaimPlanStatus(ctx context.Context, id uint64, from, to premiumupgrade.PlanStatus, version uint64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClaimPlanStatus", ctx, id, from, to, version)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ClaimPlanStatus indicates an expected call of ClaimPlanStatus.
func (mr *MockRepoMockRecorder) ClaimPlanStatus(ctx, id, from, to, version any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClaimPlanStatus", reflect.TypeOf((*MockRepo)(nil).ClaimPlanStatus), ctx, id, from, to, version)
}

// ClaimStep mocks base method.
func (m *MockRepo) ClaimStep(ctx context.Context, id uint64, from []premiumupgrade.StepStatus, version uint64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClaimStep", ctx, id, from, version)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ClaimStep indicates an expected call of ClaimStep.
func (mr *MockRepoMockRecorder) ClaimStep(ctx, id, from, version any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClaimStep", reflect.TypeOf((*MockRepo)(nil).ClaimStep), ctx, id, from, version)
}

// ClaimStepForExecution mocks base method.
func (m *MockRepo) ClaimStepForExecution(ctx context.Context, id uint64, from []premiumupgrade.StepStatus, version uint64) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClaimStepForExecution", ctx, id, from, version)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ClaimStepForExecution indicates an expected call of ClaimStepForExecution.
func (mr *MockRepoMockRecorder) ClaimStepForExecution(ctx, id, from, version any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClaimStepForExecution", reflect.TypeOf((*MockRepo)(nil).ClaimStepForExecution), ctx, id, from, version)
}

// ClaimStepForManualApply mocks base method.
func (m *MockRepo) ClaimStepForManualApply(ctx context.Context, id, version uint64, startedAt, deadline time.Time) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ClaimStepForManualApply", ctx, id, version, startedAt, deadline)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ClaimStepForManualApply indicates an expected call of ClaimStepForManualApply.
func (mr *MockRepoMockRecorder) ClaimStepForManualApply(ctx, id, version, startedAt, deadline any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClaimStepForManualApply", reflect.TypeOf((*MockRepo)(nil).ClaimStepForManualApply), ctx, id, version, startedAt, deadline)
}

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

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

// FindActiveByTargetLocators mocks base method.
func (m *MockRepo) FindActiveByTargetLocators(ctx context.Context, locators []cloudconfig.ClusterConfigurationLocator) ([]*premiumupgrade.UpgradePlan, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FindActiveByTargetLocators", ctx, locators)
	ret0, _ := ret[0].([]*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// Get mocks base method.
func (m *MockRepo) Get(ctx context.Context, id uint64) (*premiumupgrade.UpgradePlan, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, id)
	ret0, _ := ret[0].(*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetByApprovalID mocks base method.
func (m *MockRepo) GetByApprovalID(ctx context.Context, approvalID uint64) (*premiumupgrade.UpgradePlan, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByApprovalID", ctx, approvalID)
	ret0, _ := ret[0].(*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetByIdempotencyKey mocks base method.
func (m *MockRepo) GetByIdempotencyKey(ctx context.Context, applicant, key string) (*premiumupgrade.UpgradePlan, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetByIdempotencyKey", ctx, applicant, key)
	ret0, _ := ret[0].(*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetByIdempotencyKey indicates an expected call of GetByIdempotencyKey.
func (mr *MockRepoMockRecorder) GetByIdempotencyKey(ctx, applicant, key any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetByIdempotencyKey", reflect.TypeOf((*MockRepo)(nil).GetByIdempotencyKey), ctx, applicant, key)
}

// List mocks base method.
func (m *MockRepo) List(ctx context.Context, filter ListFilter) ([]*premiumupgrade.UpgradePlan, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "List", ctx, filter)
	ret0, _ := ret[0].([]*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

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

// ListByStatus mocks base method.
func (m *MockRepo) ListByStatus(ctx context.Context, statuses ...premiumupgrade.PlanStatus) ([]*premiumupgrade.UpgradePlan, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range statuses {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListByStatus", varargs...)
	ret0, _ := ret[0].([]*premiumupgrade.UpgradePlan)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListByStatus indicates an expected call of ListByStatus.
func (mr *MockRepoMockRecorder) ListByStatus(ctx any, statuses ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx}, statuses...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListByStatus", reflect.TypeOf((*MockRepo)(nil).ListByStatus), varargs...)
}

// PatchPlan mocks base method.
func (m *MockRepo) PatchPlan(ctx context.Context, id uint64, values map[string]any) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PatchPlan", ctx, id, values)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchPlan indicates an expected call of PatchPlan.
func (mr *MockRepoMockRecorder) PatchPlan(ctx, id, values any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchPlan", reflect.TypeOf((*MockRepo)(nil).PatchPlan), ctx, id, values)
}

// PatchStep mocks base method.
func (m *MockRepo) PatchStep(ctx context.Context, id uint64, values map[string]any) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PatchStep", ctx, id, values)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchStep indicates an expected call of PatchStep.
func (mr *MockRepoMockRecorder) PatchStep(ctx, id, values any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchStep", reflect.TypeOf((*MockRepo)(nil).PatchStep), ctx, id, values)
}

// PatchTarget mocks base method.
func (m *MockRepo) PatchTarget(ctx context.Context, id uint64, values map[string]any) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PatchTarget", ctx, id, values)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchTarget indicates an expected call of PatchTarget.
func (mr *MockRepoMockRecorder) PatchTarget(ctx, id, values any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchTarget", reflect.TypeOf((*MockRepo)(nil).PatchTarget), ctx, id, values)
}

// ResetFailedStepForRetry mocks base method.
func (m *MockRepo) ResetFailedStepForRetry(ctx context.Context, reset RetryReset) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ResetFailedStepForRetry", ctx, reset)
	ret0, _ := ret[0].(error)
	return ret0
}

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