// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/infra-provider/regional-server/pkg/repository (interfaces: KeyReader,KeyWriter,KeyReaderWriter)
//
// Generated by this command:
//
//	mockgen -destination ./test/mockrepository/key.go -package mockrepository github.com/tidbcloud/infra-provider/regional-server/pkg/repository KeyReader,KeyWriter,KeyReaderWriter
//

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

import (
	context "context"
	reflect "reflect"

	v1alpha1 "github.com/tidbcloud/infra-provider/regional-server/api/v1alpha1"
	gomock "go.uber.org/mock/gomock"
	types "k8s.io/apimachinery/pkg/types"
	client "sigs.k8s.io/controller-runtime/pkg/client"
)

// MockKeyReader is a mock of KeyReader interface.
type MockKeyReader struct {
	ctrl     *gomock.Controller
	recorder *MockKeyReaderMockRecorder
}

// MockKeyReaderMockRecorder is the mock recorder for MockKeyReader.
type MockKeyReaderMockRecorder struct {
	mock *MockKeyReader
}

// NewMockKeyReader creates a new mock instance.
func NewMockKeyReader(ctrl *gomock.Controller) *MockKeyReader {
	mock := &MockKeyReader{ctrl: ctrl}
	mock.recorder = &MockKeyReaderMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockKeyReader) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.Key) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// List mocks base method.
func (m *MockKeyReader) List(arg0 context.Context, arg1 *v1alpha1.KeyList, arg2 ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "List", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// List indicates an expected call of List.
func (mr *MockKeyReaderMockRecorder) List(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, "List", reflect.TypeOf((*MockKeyReader)(nil).List), varargs...)
}

// MockKeyWriter is a mock of KeyWriter interface.
type MockKeyWriter struct {
	ctrl     *gomock.Controller
	recorder *MockKeyWriterMockRecorder
}

// MockKeyWriterMockRecorder is the mock recorder for MockKeyWriter.
type MockKeyWriterMockRecorder struct {
	mock *MockKeyWriter
}

// NewMockKeyWriter creates a new mock instance.
func NewMockKeyWriter(ctrl *gomock.Controller) *MockKeyWriter {
	mock := &MockKeyWriter{ctrl: ctrl}
	mock.recorder = &MockKeyWriterMockRecorder{mock}
	return mock
}

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

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

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

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

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

// Patch mocks base method.
func (m *MockKeyWriter) Patch(arg0 context.Context, arg1 *v1alpha1.Key, arg2 client.Patch) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Patch", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

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

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

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

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

// MockKeyReaderWriter is a mock of KeyReaderWriter interface.
type MockKeyReaderWriter struct {
	ctrl     *gomock.Controller
	recorder *MockKeyReaderWriterMockRecorder
}

// MockKeyReaderWriterMockRecorder is the mock recorder for MockKeyReaderWriter.
type MockKeyReaderWriterMockRecorder struct {
	mock *MockKeyReaderWriter
}

// NewMockKeyReaderWriter creates a new mock instance.
func NewMockKeyReaderWriter(ctrl *gomock.Controller) *MockKeyReaderWriter {
	mock := &MockKeyReaderWriter{ctrl: ctrl}
	mock.recorder = &MockKeyReaderWriterMockRecorder{mock}
	return mock
}

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

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

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

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

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

// Get mocks base method.
func (m *MockKeyReaderWriter) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.Key) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// List mocks base method.
func (m *MockKeyReaderWriter) List(arg0 context.Context, arg1 *v1alpha1.KeyList, arg2 ...client.ListOption) error {
	m.ctrl.T.Helper()
	varargs := []any{arg0, arg1}
	for _, a := range arg2 {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "List", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// List indicates an expected call of List.
func (mr *MockKeyReaderWriterMockRecorder) List(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, "List", reflect.TypeOf((*MockKeyReaderWriter)(nil).List), varargs...)
}

// Patch mocks base method.
func (m *MockKeyReaderWriter) Patch(arg0 context.Context, arg1 *v1alpha1.Key, arg2 client.Patch) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Patch", arg0, arg1, arg2)
	ret0, _ := ret[0].(error)
	return ret0
}

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

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

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

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

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