// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/armadaproject/armada/internal/common/auth (interfaces: ActionAuthorizer)
//
// Generated by this command:
//
//	mockgen -destination=./mock_authorizer.go -package=mocks github.com/armadaproject/armada/internal/common/auth ActionAuthorizer
//

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

import (
	reflect "reflect"

	armadacontext "github.com/armadaproject/armada/internal/common/armadacontext"
	permission "github.com/armadaproject/armada/internal/common/auth/permission"
	queue "github.com/armadaproject/armada/pkg/client/queue"
	gomock "go.uber.org/mock/gomock"
)

// MockActionAuthorizer is a mock of ActionAuthorizer interface.
type MockActionAuthorizer struct {
	ctrl     *gomock.Controller
	recorder *MockActionAuthorizerMockRecorder
	isgomock struct{}
}

// MockActionAuthorizerMockRecorder is the mock recorder for MockActionAuthorizer.
type MockActionAuthorizerMockRecorder struct {
	mock *MockActionAuthorizer
}

// NewMockActionAuthorizer creates a new mock instance.
func NewMockActionAuthorizer(ctrl *gomock.Controller) *MockActionAuthorizer {
	mock := &MockActionAuthorizer{ctrl: ctrl}
	mock.recorder = &MockActionAuthorizerMockRecorder{mock}
	return mock
}

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

// AuthorizeAction mocks base method.
func (m *MockActionAuthorizer) AuthorizeAction(ctx *armadacontext.Context, perm permission.Permission) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AuthorizeAction", ctx, perm)
	ret0, _ := ret[0].(error)
	return ret0
}

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

// AuthorizeQueueAction mocks base method.
func (m *MockActionAuthorizer) AuthorizeQueueAction(ctx *armadacontext.Context, queue queue.Queue, anyPerm permission.Permission, perm queue.PermissionVerb) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "AuthorizeQueueAction", ctx, queue, anyPerm, perm)
	ret0, _ := ret[0].(error)
	return ret0
}

// AuthorizeQueueAction indicates an expected call of AuthorizeQueueAction.
func (mr *MockActionAuthorizerMockRecorder) AuthorizeQueueAction(ctx, queue, anyPerm, perm any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AuthorizeQueueAction", reflect.TypeOf((*MockActionAuthorizer)(nil).AuthorizeQueueAction), ctx, queue, anyPerm, perm)
}
