// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/tidbcloud/devops/pkg/service/tenant (interfaces: TenantServiceAPI)
//
// Generated by this command:
//
//	mockgen -destination tenant_service_mock.go -package=tenant github.com/tidbcloud/devops/pkg/service/tenant TenantServiceAPI
//

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

import (
	context "context"
	reflect "reflect"

	tenant "github.com/tidbcloud/devops/entity/tenant"
	accountcli "github.com/tidbcloud/devops/pkg/infra/clients/accountcli"
	gomock "go.uber.org/mock/gomock"
)

// MockTenantServiceAPI is a mock of TenantServiceAPI interface.
type MockTenantServiceAPI struct {
	ctrl     *gomock.Controller
	recorder *MockTenantServiceAPIMockRecorder
	isgomock struct{}
}

// MockTenantServiceAPIMockRecorder is the mock recorder for MockTenantServiceAPI.
type MockTenantServiceAPIMockRecorder struct {
	mock *MockTenantServiceAPI
}

// NewMockTenantServiceAPI creates a new mock instance.
func NewMockTenantServiceAPI(ctrl *gomock.Controller) *MockTenantServiceAPI {
	mock := &MockTenantServiceAPI{ctrl: ctrl}
	mock.recorder = &MockTenantServiceAPIMockRecorder{mock}
	return mock
}

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

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

// AddImpersonate indicates an expected call of AddImpersonate.
func (mr *MockTenantServiceAPIMockRecorder) AddImpersonate(ctx, userEmail, tenantID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddImpersonate", reflect.TypeOf((*MockTenantServiceAPI)(nil).AddImpersonate), ctx, userEmail, tenantID)
}

// AddUserToProject mocks base method.
func (m *MockTenantServiceAPI) AddUserToProject(ctx context.Context, tenantID, projectID, userID, projectRole, applicant string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddUserToProject", ctx, tenantID, projectID, userID, projectRole, applicant)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddUserToProject indicates an expected call of AddUserToProject.
func (mr *MockTenantServiceAPIMockRecorder) AddUserToProject(ctx, tenantID, projectID, userID, projectRole, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddUserToProject", reflect.TypeOf((*MockTenantServiceAPI)(nil).AddUserToProject), ctx, tenantID, projectID, userID, projectRole, applicant)
}

// AddUserToTenant mocks base method.
func (m *MockTenantServiceAPI) AddUserToTenant(ctx context.Context, tenantID, userID, orgRole, applicant string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AddUserToTenant", ctx, tenantID, userID, orgRole, applicant)
	ret0, _ := ret[0].(error)
	return ret0
}

// AddUserToTenant indicates an expected call of AddUserToTenant.
func (mr *MockTenantServiceAPIMockRecorder) AddUserToTenant(ctx, tenantID, userID, orgRole, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddUserToTenant", reflect.TypeOf((*MockTenantServiceAPI)(nil).AddUserToTenant), ctx, tenantID, userID, orgRole, applicant)
}

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

// DeleteImpersonate indicates an expected call of DeleteImpersonate.
func (mr *MockTenantServiceAPIMockRecorder) DeleteImpersonate(ctx, userEmail any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteImpersonate", reflect.TypeOf((*MockTenantServiceAPI)(nil).DeleteImpersonate), ctx, userEmail)
}

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

// DeleteProjectByID indicates an expected call of DeleteProjectByID.
func (mr *MockTenantServiceAPIMockRecorder) DeleteProjectByID(ctx, tenantID, projectID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProjectByID", reflect.TypeOf((*MockTenantServiceAPI)(nil).DeleteProjectByID), ctx, tenantID, projectID, applicant)
}

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

// DeleteTenant indicates an expected call of DeleteTenant.
func (mr *MockTenantServiceAPIMockRecorder) DeleteTenant(ctx, tenantID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteTenant", reflect.TypeOf((*MockTenantServiceAPI)(nil).DeleteTenant), ctx, tenantID, applicant)
}

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

// DeleteUser indicates an expected call of DeleteUser.
func (mr *MockTenantServiceAPIMockRecorder) DeleteUser(ctx, userID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockTenantServiceAPI)(nil).DeleteUser), ctx, userID, applicant)
}

// GetImpersonate mocks base method.
func (m *MockTenantServiceAPI) GetImpersonate(ctx context.Context, userEmail string) (*uint64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetImpersonate", ctx, userEmail)
	ret0, _ := ret[0].(*uint64)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetImpersonate indicates an expected call of GetImpersonate.
func (mr *MockTenantServiceAPIMockRecorder) GetImpersonate(ctx, userEmail any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetImpersonate", reflect.TypeOf((*MockTenantServiceAPI)(nil).GetImpersonate), ctx, userEmail)
}

// GetProject mocks base method.
func (m *MockTenantServiceAPI) GetProject(ctx context.Context, projectID uint64) (*accountcli.Project, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProject", ctx, projectID)
	ret0, _ := ret[0].(*accountcli.Project)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetProject indicates an expected call of GetProject.
func (mr *MockTenantServiceAPIMockRecorder) GetProject(ctx, projectID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProject", reflect.TypeOf((*MockTenantServiceAPI)(nil).GetProject), ctx, projectID)
}

// GetProjectUsers mocks base method.
func (m *MockTenantServiceAPI) GetProjectUsers(ctx context.Context, tenantID, projectID string, query accountcli.GetUsersReq, applicant string) (*accountcli.GetUsersResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetProjectUsers", ctx, tenantID, projectID, query, applicant)
	ret0, _ := ret[0].(*accountcli.GetUsersResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetProjectUsers indicates an expected call of GetProjectUsers.
func (mr *MockTenantServiceAPIMockRecorder) GetProjectUsers(ctx, tenantID, projectID, query, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProjectUsers", reflect.TypeOf((*MockTenantServiceAPI)(nil).GetProjectUsers), ctx, tenantID, projectID, query, applicant)
}

// GetTenant mocks base method.
func (m *MockTenantServiceAPI) GetTenant(ctx context.Context, tenantID uint64) (*tenant.Tenant, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTenant", ctx, tenantID)
	ret0, _ := ret[0].(*tenant.Tenant)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetTenant indicates an expected call of GetTenant.
func (mr *MockTenantServiceAPIMockRecorder) GetTenant(ctx, tenantID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTenant", reflect.TypeOf((*MockTenantServiceAPI)(nil).GetTenant), ctx, tenantID)
}

// GetTenantUsers mocks base method.
func (m *MockTenantServiceAPI) GetTenantUsers(ctx context.Context, tenantID string, query accountcli.GetUsersReq, applicant string) (*accountcli.GetUsersResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetTenantUsers", ctx, tenantID, query, applicant)
	ret0, _ := ret[0].(*accountcli.GetUsersResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetTenantUsers indicates an expected call of GetTenantUsers.
func (mr *MockTenantServiceAPIMockRecorder) GetTenantUsers(ctx, tenantID, query, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTenantUsers", reflect.TypeOf((*MockTenantServiceAPI)(nil).GetTenantUsers), ctx, tenantID, query, applicant)
}

// ListTenants mocks base method.
func (m *MockTenantServiceAPI) ListTenants(ctx context.Context, param ListTenantsParam) ([]*tenant.Tenant, int64, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListTenants", ctx, param)
	ret0, _ := ret[0].([]*tenant.Tenant)
	ret1, _ := ret[1].(int64)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// ListTenants indicates an expected call of ListTenants.
func (mr *MockTenantServiceAPIMockRecorder) ListTenants(ctx, param any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTenants", reflect.TypeOf((*MockTenantServiceAPI)(nil).ListTenants), ctx, param)
}

// MetricsAdvancedQueryRange mocks base method.
func (m *MockTenantServiceAPI) MetricsAdvancedQueryRange(ctx context.Context, query string, start, end, step int64) (*tenant.MetricsQueryData, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "MetricsAdvancedQueryRange", ctx, query, start, end, step)
	ret0, _ := ret[0].(*tenant.MetricsQueryData)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// MetricsAdvancedQueryRange indicates an expected call of MetricsAdvancedQueryRange.
func (mr *MockTenantServiceAPIMockRecorder) MetricsAdvancedQueryRange(ctx, query, start, end, step any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MetricsAdvancedQueryRange", reflect.TypeOf((*MockTenantServiceAPI)(nil).MetricsAdvancedQueryRange), ctx, query, start, end, step)
}

// RemoveUserFromProject mocks base method.
func (m *MockTenantServiceAPI) RemoveUserFromProject(ctx context.Context, tenantID, projectID, userID, applicant string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RemoveUserFromProject", ctx, tenantID, projectID, userID, applicant)
	ret0, _ := ret[0].(error)
	return ret0
}

// RemoveUserFromProject indicates an expected call of RemoveUserFromProject.
func (mr *MockTenantServiceAPIMockRecorder) RemoveUserFromProject(ctx, tenantID, projectID, userID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveUserFromProject", reflect.TypeOf((*MockTenantServiceAPI)(nil).RemoveUserFromProject), ctx, tenantID, projectID, userID, applicant)
}

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

// RemoveUserFromTenant indicates an expected call of RemoveUserFromTenant.
func (mr *MockTenantServiceAPIMockRecorder) RemoveUserFromTenant(ctx, tenantID, userID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveUserFromTenant", reflect.TypeOf((*MockTenantServiceAPI)(nil).RemoveUserFromTenant), ctx, tenantID, userID, applicant)
}

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

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

// UpdateTenant mocks base method.
func (m *MockTenantServiceAPI) UpdateTenant(ctx context.Context, req *accountcli.UpdateTenantReq, tenantID, applicant string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateTenant", ctx, req, tenantID, applicant)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateTenant indicates an expected call of UpdateTenant.
func (mr *MockTenantServiceAPIMockRecorder) UpdateTenant(ctx, req, tenantID, applicant any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTenant", reflect.TypeOf((*MockTenantServiceAPI)(nil).UpdateTenant), ctx, req, tenantID, applicant)
}
