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

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

import (
	context "context"
	reflect "reflect"

	jump "github.com/tidbcloud/devops/entity/jump"
	repoopt "github.com/tidbcloud/devops/pkg/infra/utils/repoopt"
	gomock "go.uber.org/mock/gomock"
)

// MockJumpRepo is a mock of JumpRepo interface.
type MockJumpRepo struct {
	ctrl     *gomock.Controller
	recorder *MockJumpRepoMockRecorder
	isgomock struct{}
}

// MockJumpRepoMockRecorder is the mock recorder for MockJumpRepo.
type MockJumpRepoMockRecorder struct {
	mock *MockJumpRepo
}

// NewMockJumpRepo creates a new mock instance.
func NewMockJumpRepo(ctrl *gomock.Controller) *MockJumpRepo {
	mock := &MockJumpRepo{ctrl: ctrl}
	mock.recorder = &MockJumpRepoMockRecorder{mock}
	return mock
}

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

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

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

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

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

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

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

// ListAuthorizations mocks base method.
func (m *MockJumpRepo) ListAuthorizations(ctx context.Context, opts ...repoopt.Option) ([]*jump.Authorization, error) {
	m.ctrl.T.Helper()
	varargs := []any{ctx}
	for _, a := range opts {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "ListAuthorizations", varargs...)
	ret0, _ := ret[0].([]*jump.Authorization)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// PatchAuthorization mocks base method.
func (m *MockJumpRepo) PatchAuthorization(ctx context.Context, current *jump.Authorization, patch ...PatchAuthorization) error {
	m.ctrl.T.Helper()
	varargs := []any{ctx, current}
	for _, a := range patch {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "PatchAuthorization", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// PatchAuthorization indicates an expected call of PatchAuthorization.
func (mr *MockJumpRepoMockRecorder) PatchAuthorization(ctx, current any, patch ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{ctx, current}, patch...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchAuthorization", reflect.TypeOf((*MockJumpRepo)(nil).PatchAuthorization), varargs...)
}
