// Code generated by MockGen. DO NOT EDIT.
// Source: ./pkg/service/account/shared_bucket.go
//
// Generated by this command:
//
//	mockgen -destination ./test/service/mockaccount/mock_sharedbucket.go -package mockaccount -source ./pkg/service/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"
)

// MockSharedBucketServiceInterface is a mock of SharedBucketServiceInterface interface.
type MockSharedBucketServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockSharedBucketServiceInterfaceMockRecorder
}

// MockSharedBucketServiceInterfaceMockRecorder is the mock recorder for MockSharedBucketServiceInterface.
type MockSharedBucketServiceInterfaceMockRecorder struct {
	mock *MockSharedBucketServiceInterface
}

// NewMockSharedBucketServiceInterface creates a new mock instance.
func NewMockSharedBucketServiceInterface(ctrl *gomock.Controller) *MockSharedBucketServiceInterface {
	mock := &MockSharedBucketServiceInterface{ctrl: ctrl}
	mock.recorder = &MockSharedBucketServiceInterfaceMockRecorder{mock}
	return mock
}

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

// AssignSharedBucket mocks base method.
func (m *MockSharedBucketServiceInterface) AssignSharedBucket(ctx context.Context, account models.DataPlaneAccountInfo, clusterID, tenantID, projectID string) (models.SharedBucketInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AssignSharedBucket", ctx, account, clusterID, tenantID, projectID)
	ret0, _ := ret[0].(models.SharedBucketInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// AssignSharedBucket indicates an expected call of AssignSharedBucket.
func (mr *MockSharedBucketServiceInterfaceMockRecorder) AssignSharedBucket(ctx, account, clusterID, tenantID, projectID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssignSharedBucket", reflect.TypeOf((*MockSharedBucketServiceInterface)(nil).AssignSharedBucket), ctx, account, clusterID, tenantID, projectID)
}

// UnassignSharedBucket mocks base method.
func (m *MockSharedBucketServiceInterface) UnassignSharedBucket(ctx context.Context, clusterID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UnassignSharedBucket", ctx, clusterID)
	ret0, _ := ret[0].(error)
	return ret0
}

// UnassignSharedBucket indicates an expected call of UnassignSharedBucket.
func (mr *MockSharedBucketServiceInterfaceMockRecorder) UnassignSharedBucket(ctx, clusterID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnassignSharedBucket", reflect.TypeOf((*MockSharedBucketServiceInterface)(nil).UnassignSharedBucket), ctx, clusterID)
}
