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

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

import (
	context "context"
	reflect "reflect"

	k8supgrade "github.com/tidbcloud/devops/entity/k8supgrade"
	repoopt "github.com/tidbcloud/devops/pkg/infra/utils/repoopt"
	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
}

// CountTasks mocks base method.
func (m *MockRepo) CountTasks(arg0 context.Context, arg1 ...repoopt.Option) (int64, error) {
	m.ctrl.T.Helper()
	varargs := []any{arg0}
	for _, a := range arg1 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "CountTasks", varargs...)
	ret0, _ := ret[0].(int64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// CreateK8sCluster mocks base method.
func (m *MockRepo) CreateK8sCluster(arg0 context.Context, arg1 *k8supgrade.K8sCluster) (*k8supgrade.K8sCluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateK8sCluster", arg0, arg1)
	ret0, _ := ret[0].(*k8supgrade.K8sCluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// CreateK8sClusterInBatch mocks base method.
func (m *MockRepo) CreateK8sClusterInBatch(arg0 context.Context, arg1 []*k8supgrade.K8sCluster) ([]*k8supgrade.K8sCluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateK8sClusterInBatch", arg0, arg1)
	ret0, _ := ret[0].([]*k8supgrade.K8sCluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// CreateTask mocks base method.
func (m *MockRepo) CreateTask(arg0 context.Context, arg1 *k8supgrade.Task) (*k8supgrade.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateTask", arg0, arg1)
	ret0, _ := ret[0].(*k8supgrade.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// DeleteK8sClusters mocks base method.
func (m *MockRepo) DeleteK8sClusters(arg0 context.Context, arg1 uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteK8sClusters", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// DeleteTask mocks base method.
func (m *MockRepo) DeleteTask(arg0 context.Context, arg1 uint64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteTask", arg0, arg1)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// GetK8sCluster mocks base method.
func (m *MockRepo) GetK8sCluster(arg0 context.Context, arg1 uint64, arg2 string) (*k8supgrade.K8sCluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetK8sCluster", arg0, arg1, arg2)
	ret0, _ := ret[0].(*k8supgrade.K8sCluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetTask mocks base method.
func (m *MockRepo) GetTask(arg0 context.Context, arg1 uint64, arg2 bool) (*k8supgrade.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTask", arg0, arg1, arg2)
	ret0, _ := ret[0].(*k8supgrade.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetTaskWithOpts mocks base method.
func (m *MockRepo) GetTaskWithOpts(arg0 context.Context, arg1 uint64, arg2 GetTaskOpts) (*k8supgrade.Task, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTaskWithOpts", arg0, arg1, arg2)
	ret0, _ := ret[0].(*k8supgrade.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListK8sClusters mocks base method.
func (m *MockRepo) ListK8sClusters(arg0 context.Context, arg1 uint64, arg2 bool) ([]*k8supgrade.K8sCluster, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListK8sClusters", arg0, arg1, arg2)
	ret0, _ := ret[0].([]*k8supgrade.K8sCluster)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListTasks mocks base method.
func (m *MockRepo) ListTasks(arg0 context.Context, arg1 ...repoopt.Option) ([]*k8supgrade.Task, error) {
	m.ctrl.T.Helper()
	varargs := []any{arg0}
	for _, a := range arg1 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListTasks", varargs...)
	ret0, _ := ret[0].([]*k8supgrade.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// ListTasksWithK8sClusters mocks base method.
func (m *MockRepo) ListTasksWithK8sClusters(arg0 context.Context, arg1 ...repoopt.Option) ([]*k8supgrade.Task, error) {
	m.ctrl.T.Helper()
	varargs := []any{arg0}
	for _, a := range arg1 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListTasksWithK8sClusters", varargs...)
	ret0, _ := ret[0].([]*k8supgrade.Task)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PatchTask mocks base method.
func (m *MockRepo) PatchTask(arg0 context.Context, arg1 *k8supgrade.Task, arg2 ...PatchTask) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "PatchTask", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// UpdateK8sCluster mocks base method.
func (m *MockRepo) UpdateK8sCluster(arg0 context.Context, arg1 uint64, arg2 string, arg3 *k8supgrade.K8sCluster) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateK8sCluster", arg0, arg1, arg2, arg3)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateK8sCluster indicates an expected call of UpdateK8sCluster.
func (mr *MockRepoMockRecorder) UpdateK8sCluster(arg0, arg1, arg2, arg3 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateK8sCluster", reflect.TypeOf((*MockRepo)(nil).UpdateK8sCluster), arg0, arg1, arg2, arg3)
}

// UpdateTask mocks base method.
func (m *MockRepo) UpdateTask(arg0 context.Context, arg1 uint64, arg2 *k8supgrade.Task) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateTask", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// UpsertK8sClustersWithVersionGuard mocks base method.
func (m *MockRepo) UpsertK8sClustersWithVersionGuard(ctx context.Context, clusters []*k8supgrade.K8sCluster) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpsertK8sClustersWithVersionGuard", ctx, clusters)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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