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

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

import (
	context "context"
	reflect "reflect"

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

// MockServiceInterface is a mock of ServiceInterface interface.
type MockServiceInterface struct {
	ctrl     *gomock.Controller
	recorder *MockServiceInterfaceMockRecorder
}

// MockServiceInterfaceMockRecorder is the mock recorder for MockServiceInterface.
type MockServiceInterfaceMockRecorder struct {
	mock *MockServiceInterface
}

// NewMockServiceInterface creates a new mock instance.
func NewMockServiceInterface(ctrl *gomock.Controller) *MockServiceInterface {
	mock := &MockServiceInterface{ctrl: ctrl}
	mock.recorder = &MockServiceInterfaceMockRecorder{mock}
	return mock
}

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

// AssignAccount mocks base method.
func (m *MockServiceInterface) AssignAccount(ctx context.Context, vpcName, tenantID, projectID string) (models.DataPlaneAccountInfo, string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AssignAccount", ctx, vpcName, tenantID, projectID)
	ret0, _ := ret[0].(models.DataPlaneAccountInfo)
	ret1, _ := ret[1].(string)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// AssignAccount indicates an expected call of AssignAccount.
func (mr *MockServiceInterfaceMockRecorder) AssignAccount(ctx, vpcName, tenantID, projectID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AssignAccount", reflect.TypeOf((*MockServiceInterface)(nil).AssignAccount), ctx, vpcName, tenantID, projectID)
}

// GetAccount mocks base method.
func (m *MockServiceInterface) GetAccount(ctx context.Context, req *dedicatedv1.GetAccountRequest) (*dedicatedv1.Account, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetAccount", ctx, req)
	ret0, _ := ret[0].(*dedicatedv1.Account)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetAccount indicates an expected call of GetAccount.
func (mr *MockServiceInterfaceMockRecorder) GetAccount(ctx, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccount", reflect.TypeOf((*MockServiceInterface)(nil).GetAccount), ctx, req)
}

// PreAssignAccount mocks base method.
func (m *MockServiceInterface) PreAssignAccount(ctx context.Context, req *dedicatedv1.AssignAccountRequest) (*dedicatedv1.Account, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PreAssignAccount", ctx, req)
	ret0, _ := ret[0].(*dedicatedv1.Account)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// PreAssignAccount indicates an expected call of PreAssignAccount.
func (mr *MockServiceInterfaceMockRecorder) PreAssignAccount(ctx, req any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PreAssignAccount", reflect.TypeOf((*MockServiceInterface)(nil).PreAssignAccount), ctx, req)
}
