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

// 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"
)

// MockBucketReader is a mock of BucketReader interface.
type MockBucketReader struct {
	ctrl     *gomock.Controller
	recorder *MockBucketReaderMockRecorder
}

// MockBucketReaderMockRecorder is the mock recorder for MockBucketReader.
type MockBucketReaderMockRecorder struct {
	mock *MockBucketReader
}

// NewMockBucketReader creates a new mock instance.
func NewMockBucketReader(ctrl *gomock.Controller) *MockBucketReader {
	mock := &MockBucketReader{ctrl: ctrl}
	mock.recorder = &MockBucketReaderMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockBucketReader) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.Bucket) 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 *MockBucketReaderMockRecorder) Get(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBucketReader)(nil).Get), arg0, arg1, arg2)
}

// List mocks base method.
func (m *MockBucketReader) List(arg0 context.Context, arg1 *v1alpha1.BucketList, 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 *MockBucketReaderMockRecorder) 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((*MockBucketReader)(nil).List), varargs...)
}

// MockBucketWriter is a mock of BucketWriter interface.
type MockBucketWriter struct {
	ctrl     *gomock.Controller
	recorder *MockBucketWriterMockRecorder
}

// MockBucketWriterMockRecorder is the mock recorder for MockBucketWriter.
type MockBucketWriterMockRecorder struct {
	mock *MockBucketWriter
}

// NewMockBucketWriter creates a new mock instance.
func NewMockBucketWriter(ctrl *gomock.Controller) *MockBucketWriter {
	mock := &MockBucketWriter{ctrl: ctrl}
	mock.recorder = &MockBucketWriterMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockBucketWriter) Create(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketWriterMockRecorder) Create(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockBucketWriter)(nil).Create), arg0, arg1)
}

// Delete mocks base method.
func (m *MockBucketWriter) Delete(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketWriterMockRecorder) Delete(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockBucketWriter)(nil).Delete), arg0, arg1)
}

// Patch mocks base method.
func (m *MockBucketWriter) Patch(arg0 context.Context, arg1 *v1alpha1.Bucket, 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 *MockBucketWriterMockRecorder) Patch(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockBucketWriter)(nil).Patch), arg0, arg1, arg2)
}

// Update mocks base method.
func (m *MockBucketWriter) Update(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketWriterMockRecorder) Update(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockBucketWriter)(nil).Update), arg0, arg1)
}

// UpdateStatus mocks base method.
func (m *MockBucketWriter) UpdateStatus(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketWriterMockRecorder) UpdateStatus(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockBucketWriter)(nil).UpdateStatus), arg0, arg1)
}

// MockBucketReaderWriter is a mock of BucketReaderWriter interface.
type MockBucketReaderWriter struct {
	ctrl     *gomock.Controller
	recorder *MockBucketReaderWriterMockRecorder
}

// MockBucketReaderWriterMockRecorder is the mock recorder for MockBucketReaderWriter.
type MockBucketReaderWriterMockRecorder struct {
	mock *MockBucketReaderWriter
}

// NewMockBucketReaderWriter creates a new mock instance.
func NewMockBucketReaderWriter(ctrl *gomock.Controller) *MockBucketReaderWriter {
	mock := &MockBucketReaderWriter{ctrl: ctrl}
	mock.recorder = &MockBucketReaderWriterMockRecorder{mock}
	return mock
}

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

// Create mocks base method.
func (m *MockBucketReaderWriter) Create(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketReaderWriterMockRecorder) Create(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockBucketReaderWriter)(nil).Create), arg0, arg1)
}

// Delete mocks base method.
func (m *MockBucketReaderWriter) Delete(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketReaderWriterMockRecorder) Delete(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockBucketReaderWriter)(nil).Delete), arg0, arg1)
}

// Get mocks base method.
func (m *MockBucketReaderWriter) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 *v1alpha1.Bucket) 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 *MockBucketReaderWriterMockRecorder) Get(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockBucketReaderWriter)(nil).Get), arg0, arg1, arg2)
}

// List mocks base method.
func (m *MockBucketReaderWriter) List(arg0 context.Context, arg1 *v1alpha1.BucketList, 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 *MockBucketReaderWriterMockRecorder) 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((*MockBucketReaderWriter)(nil).List), varargs...)
}

// Patch mocks base method.
func (m *MockBucketReaderWriter) Patch(arg0 context.Context, arg1 *v1alpha1.Bucket, 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 *MockBucketReaderWriterMockRecorder) Patch(arg0, arg1, arg2 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockBucketReaderWriter)(nil).Patch), arg0, arg1, arg2)
}

// Update mocks base method.
func (m *MockBucketReaderWriter) Update(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketReaderWriterMockRecorder) Update(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockBucketReaderWriter)(nil).Update), arg0, arg1)
}

// UpdateStatus mocks base method.
func (m *MockBucketReaderWriter) UpdateStatus(arg0 context.Context, arg1 *v1alpha1.Bucket) 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 *MockBucketReaderWriterMockRecorder) UpdateStatus(arg0, arg1 any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateStatus", reflect.TypeOf((*MockBucketReaderWriter)(nil).UpdateStatus), arg0, arg1)
}
