// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/resourcemanager/account/shared_bucket.go
//
// Generated by this command:
//
//	mockgen -destination ./test/resourcemanager/mockaccount/mock_sharedbucket.go -package mockaccount -source ./pkg/resourcemanager/account/shared_bucket.go
//

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

import (
	context "context"
	reflect "reflect"

	models "github.com/tidbcloud/infra-provider/regional-server/pkg/common/models"
	gomock "go.uber.org/mock/gomock"
)

// MockSharedBucketReaderWriter is a mock of SharedBucketReaderWriter interface.
type MockSharedBucketReaderWriter struct {
	ctrl     *gomock.Controller
	recorder *MockSharedBucketReaderWriterMockRecorder
}

// MockSharedBucketReaderWriterMockRecorder is the mock recorder for MockSharedBucketReaderWriter.
type MockSharedBucketReaderWriterMockRecorder struct {
	mock *MockSharedBucketReaderWriter
}

// NewMockSharedBucketReaderWriter creates a new mock instance.
func NewMockSharedBucketReaderWriter(ctrl *gomock.Controller) *MockSharedBucketReaderWriter {
	mock := &MockSharedBucketReaderWriter{ctrl: ctrl}
	mock.recorder = &MockSharedBucketReaderWriterMockRecorder{mock}
	return mock
}

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

// Bind mocks base method.
func (m *MockSharedBucketReaderWriter) Bind(ctx context.Context, binding models.SharedBucketInfo, target models.SharedBucketBindingTarget) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Bind", ctx, binding, target)
	ret0, _ := ret[0].(error)
	return ret0
}

// Bind indicates an expected call of Bind.
func (mr *MockSharedBucketReaderWriterMockRecorder) Bind(ctx, binding, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockSharedBucketReaderWriter)(nil).Bind), ctx, binding, target)
}

// GetBinding mocks base method.
func (m *MockSharedBucketReaderWriter) GetBinding(ctx context.Context, target models.SharedBucketBindingTarget) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBinding", ctx, target)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetBinding indicates an expected call of GetBinding.
func (mr *MockSharedBucketReaderWriterMockRecorder) GetBinding(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBinding", reflect.TypeOf((*MockSharedBucketReaderWriter)(nil).GetBinding), ctx, target)
}

// Unbind mocks base method.
func (m *MockSharedBucketReaderWriter) Unbind(ctx context.Context, target models.SharedBucketBindingTarget) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unbind", ctx, target)
	ret0, _ := ret[0].(error)
	return ret0
}

// Unbind indicates an expected call of Unbind.
func (mr *MockSharedBucketReaderWriterMockRecorder) Unbind(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unbind", reflect.TypeOf((*MockSharedBucketReaderWriter)(nil).Unbind), ctx, target)
}

// MockSharedBucketReader is a mock of SharedBucketReader interface.
type MockSharedBucketReader struct {
	ctrl     *gomock.Controller
	recorder *MockSharedBucketReaderMockRecorder
}

// MockSharedBucketReaderMockRecorder is the mock recorder for MockSharedBucketReader.
type MockSharedBucketReaderMockRecorder struct {
	mock *MockSharedBucketReader
}

// NewMockSharedBucketReader creates a new mock instance.
func NewMockSharedBucketReader(ctrl *gomock.Controller) *MockSharedBucketReader {
	mock := &MockSharedBucketReader{ctrl: ctrl}
	mock.recorder = &MockSharedBucketReaderMockRecorder{mock}
	return mock
}

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

// GetBinding mocks base method.
func (m *MockSharedBucketReader) GetBinding(ctx context.Context, target models.SharedBucketBindingTarget) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetBinding", ctx, target)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetBinding indicates an expected call of GetBinding.
func (mr *MockSharedBucketReaderMockRecorder) GetBinding(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBinding", reflect.TypeOf((*MockSharedBucketReader)(nil).GetBinding), ctx, target)
}

// MockSharedBucketWriter is a mock of SharedBucketWriter interface.
type MockSharedBucketWriter struct {
	ctrl     *gomock.Controller
	recorder *MockSharedBucketWriterMockRecorder
}

// MockSharedBucketWriterMockRecorder is the mock recorder for MockSharedBucketWriter.
type MockSharedBucketWriterMockRecorder struct {
	mock *MockSharedBucketWriter
}

// NewMockSharedBucketWriter creates a new mock instance.
func NewMockSharedBucketWriter(ctrl *gomock.Controller) *MockSharedBucketWriter {
	mock := &MockSharedBucketWriter{ctrl: ctrl}
	mock.recorder = &MockSharedBucketWriterMockRecorder{mock}
	return mock
}

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

// Bind mocks base method.
func (m *MockSharedBucketWriter) Bind(ctx context.Context, binding models.SharedBucketInfo, target models.SharedBucketBindingTarget) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Bind", ctx, binding, target)
	ret0, _ := ret[0].(error)
	return ret0
}

// Bind indicates an expected call of Bind.
func (mr *MockSharedBucketWriterMockRecorder) Bind(ctx, binding, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Bind", reflect.TypeOf((*MockSharedBucketWriter)(nil).Bind), ctx, binding, target)
}

// Unbind mocks base method.
func (m *MockSharedBucketWriter) Unbind(ctx context.Context, target models.SharedBucketBindingTarget) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Unbind", ctx, target)
	ret0, _ := ret[0].(error)
	return ret0
}

// Unbind indicates an expected call of Unbind.
func (mr *MockSharedBucketWriterMockRecorder) Unbind(ctx, target any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unbind", reflect.TypeOf((*MockSharedBucketWriter)(nil).Unbind), ctx, target)
}
