// Code generated by MockGen. DO NOT EDIT.
// Source: ./permission.go
//
// Generated by this command:
//
//	mockgen -source=./permission.go -destination ./v3portdrivermock/permission.go -package v3portdrivermock
//

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

import (
	context "context"
	reflect "reflect"

	cdaenum "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/domain/enum/cdaenum"
	cdapmsenum "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/domain/enum/cdapmsenum"
	authzhttpres "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/drivenadapter/httpaccess/authzhttp/authzhttpres"
	cpmsreq "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/drivenadapter/rdto/agent_permission/cpmsreq"
	cpmsresp "github.com/kweaver-ai/kweaver-core/decision-agent/agent-backend/agent-factory/src/drivenadapter/rdto/agent_permission/cpmsresp"
	gomock "go.uber.org/mock/gomock"
)

// MockIPermissionSvc is a mock of IPermissionSvc interface.
type MockIPermissionSvc struct {
	ctrl     *gomock.Controller
	recorder *MockIPermissionSvcMockRecorder
	isgomock struct{}
}

// MockIPermissionSvcMockRecorder is the mock recorder for MockIPermissionSvc.
type MockIPermissionSvcMockRecorder struct {
	mock *MockIPermissionSvc
}

// NewMockIPermissionSvc creates a new mock instance.
func NewMockIPermissionSvc(ctrl *gomock.Controller) *MockIPermissionSvc {
	mock := &MockIPermissionSvc{ctrl: ctrl}
	mock.recorder = &MockIPermissionSvcMockRecorder{mock}
	return mock
}

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

// CheckUsePermission mocks base method.
func (m *MockIPermissionSvc) CheckUsePermission(ctx context.Context, req *cpmsreq.CheckAgentRunReq) (*cpmsresp.CheckRunResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckUsePermission", ctx, req)
	ret0, _ := ret[0].(*cpmsresp.CheckRunResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetPolicyOfAgentUse mocks base method.
func (m *MockIPermissionSvc) GetPolicyOfAgentUse(ctx context.Context, agentID string) (*authzhttpres.ListPolicyRes, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetPolicyOfAgentUse", ctx, agentID)
	ret0, _ := ret[0].(*authzhttpres.ListPolicyRes)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetSingleMgmtPermission mocks base method.
func (m *MockIPermissionSvc) GetSingleMgmtPermission(ctx context.Context, resouceType cdaenum.ResourceType, operator cdapmsenum.Operator) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSingleMgmtPermission", ctx, resouceType, operator)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSingleMgmtPermission indicates an expected call of GetSingleMgmtPermission.
func (mr *MockIPermissionSvcMockRecorder) GetSingleMgmtPermission(ctx, resouceType, operator any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSingleMgmtPermission", reflect.TypeOf((*MockIPermissionSvc)(nil).GetSingleMgmtPermission), ctx, resouceType, operator)
}

// GetUserStatus mocks base method.
func (m *MockIPermissionSvc) GetUserStatus(ctx context.Context) (*cpmsresp.UserStatusResp, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserStatus", ctx)
	ret0, _ := ret[0].(*cpmsresp.UserStatusResp)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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