// Code generated by MockGen. DO NOT EDIT.
// Source: ../interfaces/permission_access.go
//
// Generated by this command:
//
//	mockgen -source ../interfaces/permission_access.go -destination ../interfaces/mock/mock_permission_access.go
//

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

import (
	interfaces "bkn-backend/interfaces"
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockPermissionAccess is a mock of PermissionAccess interface.
type MockPermissionAccess struct {
	ctrl     *gomock.Controller
	recorder *MockPermissionAccessMockRecorder
	isgomock struct{}
}

// MockPermissionAccessMockRecorder is the mock recorder for MockPermissionAccess.
type MockPermissionAccessMockRecorder struct {
	mock *MockPermissionAccess
}

// NewMockPermissionAccess creates a new mock instance.
func NewMockPermissionAccess(ctrl *gomock.Controller) *MockPermissionAccess {
	mock := &MockPermissionAccess{ctrl: ctrl}
	mock.recorder = &MockPermissionAccessMockRecorder{mock}
	return mock
}

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

// CheckPermission mocks base method.
func (m *MockPermissionAccess) CheckPermission(ctx context.Context, check interfaces.PermissionCheck) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckPermission", ctx, check)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

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

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

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

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

// FilterResources mocks base method.
func (m *MockPermissionAccess) FilterResources(ctx context.Context, filter interfaces.PermissionResourcesFilter) (map[string]interfaces.PermissionResourceOps, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "FilterResources", ctx, filter)
	ret0, _ := ret[0].(map[string]interfaces.PermissionResourceOps)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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