// Code generated by MockGen. DO NOT EDIT.
// Source: ./internal/domain/repo/lock.go
//
// Generated by this command:
//
//	mockgen -source=./internal/domain/repo/lock.go -destination ./internal/domain/repo/mock_repo/mock_lock.go -package mock_repo
//

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

import (
	context "context"
	reflect "reflect"

	entity "github.com/tidbcloud/serverless-service/internal/domain/entity"
	gomock "go.uber.org/mock/gomock"
)

// MockLockRepo is a mock of LockRepo interface.
type MockLockRepo struct {
	ctrl     *gomock.Controller
	recorder *MockLockRepoMockRecorder
}

// MockLockRepoMockRecorder is the mock recorder for MockLockRepo.
type MockLockRepoMockRecorder struct {
	mock *MockLockRepo
}

// NewMockLockRepo creates a new mock instance.
func NewMockLockRepo(ctrl *gomock.Controller) *MockLockRepo {
	mock := &MockLockRepo{ctrl: ctrl}
	mock.recorder = &MockLockRepoMockRecorder{mock}
	return mock
}

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

// IsFree mocks base method.
func (m *MockLockRepo) IsFree(ctx context.Context, lock *entity.Lock) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsFree", ctx, lock)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

// Lock mocks base method.
func (m *MockLockRepo) Lock(ctx context.Context, lock *entity.Lock) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Lock", ctx, lock)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// Release mocks base method.
func (m *MockLockRepo) Release(ctx context.Context, lock *entity.Lock) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Release", ctx, lock)
	ret0, _ := ret[0].(error)
	return ret0
}

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