// Code generated by MockGen. DO NOT EDIT.
// Source: .. (interfaces: Manager)
//
// Generated by this command:
//
//	mockgen -destination zz_manager_mocks.go -package mocks .. Manager
//

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

import (
	http "net/http"
	reflect "reflect"
	time "time"

	v3 "github.com/rancher/rancher/pkg/apis/management.cattle.io/v3"
	accessor "github.com/rancher/rancher/pkg/auth/accessor"
	gomock "go.uber.org/mock/gomock"
	types "k8s.io/apimachinery/pkg/types"
)

// MockManager is a mock of Manager interface.
type MockManager struct {
	ctrl     *gomock.Controller
	recorder *MockManagerMockRecorder
	isgomock struct{}
}

// MockManagerMockRecorder is the mock recorder for MockManager.
type MockManagerMockRecorder struct {
	mock *MockManager
}

// NewMockManager creates a new mock instance.
func NewMockManager(ctrl *gomock.Controller) *MockManager {
	mock := &MockManager{ctrl: ctrl}
	mock.recorder = &MockManagerMockRecorder{mock}
	return mock
}

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

// CheckAccess mocks base method.
func (m *MockManager) CheckAccess(accessMode string, allowedPrincipalIDs []string, userPrincipalID string, groups []v3.Principal) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckAccess", accessMode, allowedPrincipalIDs, userPrincipalID, groups)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckAccess indicates an expected call of CheckAccess.
func (mr *MockManagerMockRecorder) CheckAccess(accessMode, allowedPrincipalIDs, userPrincipalID, groups any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckAccess", reflect.TypeOf((*MockManager)(nil).CheckAccess), accessMode, allowedPrincipalIDs, userPrincipalID, groups)
}

// CreateNewUserClusterRoleBinding mocks base method.
func (m *MockManager) CreateNewUserClusterRoleBinding(userName string, userUID types.UID) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateNewUserClusterRoleBinding", userName, userUID)
	ret0, _ := ret[0].(error)
	return ret0
}

// CreateNewUserClusterRoleBinding indicates an expected call of CreateNewUserClusterRoleBinding.
func (mr *MockManagerMockRecorder) CreateNewUserClusterRoleBinding(userName, userUID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNewUserClusterRoleBinding", reflect.TypeOf((*MockManager)(nil).CreateNewUserClusterRoleBinding), userName, userUID)
}

// EnsureAndGetUserAttribute mocks base method.
func (m *MockManager) EnsureAndGetUserAttribute(userID string) (*v3.UserAttribute, bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "EnsureAndGetUserAttribute", userID)
	ret0, _ := ret[0].(*v3.UserAttribute)
	ret1, _ := ret[1].(bool)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// EnsureAndGetUserAttribute indicates an expected call of EnsureAndGetUserAttribute.
func (mr *MockManagerMockRecorder) EnsureAndGetUserAttribute(userID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureAndGetUserAttribute", reflect.TypeOf((*MockManager)(nil).EnsureAndGetUserAttribute), userID)
}

// EnsureUser mocks base method.
func (m *MockManager) EnsureUser(principalName, displayName string) (*v3.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "EnsureUser", principalName, displayName)
	ret0, _ := ret[0].(*v3.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// EnsureUser indicates an expected call of EnsureUser.
func (mr *MockManagerMockRecorder) EnsureUser(principalName, displayName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EnsureUser", reflect.TypeOf((*MockManager)(nil).EnsureUser), principalName, displayName)
}

// GetGroupsForTokenAuthProvider mocks base method.
func (m *MockManager) GetGroupsForTokenAuthProvider(token accessor.TokenAccessor) []v3.Principal {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetGroupsForTokenAuthProvider", token)
	ret0, _ := ret[0].([]v3.Principal)
	return ret0
}

// GetGroupsForTokenAuthProvider indicates an expected call of GetGroupsForTokenAuthProvider.
func (mr *MockManagerMockRecorder) GetGroupsForTokenAuthProvider(token any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetGroupsForTokenAuthProvider", reflect.TypeOf((*MockManager)(nil).GetGroupsForTokenAuthProvider), token)
}

// GetUser mocks base method.
func (m *MockManager) GetUser(r *http.Request) string {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUser", r)
	ret0, _ := ret[0].(string)
	return ret0
}

// GetUser indicates an expected call of GetUser.
func (mr *MockManagerMockRecorder) GetUser(r any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockManager)(nil).GetUser), r)
}

// GetUserByPrincipalID mocks base method.
func (m *MockManager) GetUserByPrincipalID(principalName string) (*v3.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserByPrincipalID", principalName)
	ret0, _ := ret[0].(*v3.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUserByPrincipalID indicates an expected call of GetUserByPrincipalID.
func (mr *MockManagerMockRecorder) GetUserByPrincipalID(principalName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserByPrincipalID", reflect.TypeOf((*MockManager)(nil).GetUserByPrincipalID), principalName)
}

// IsMemberOf mocks base method.
func (m *MockManager) IsMemberOf(token accessor.TokenAccessor, group v3.Principal) bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsMemberOf", token, group)
	ret0, _ := ret[0].(bool)
	return ret0
}

// IsMemberOf indicates an expected call of IsMemberOf.
func (mr *MockManagerMockRecorder) IsMemberOf(token, group any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsMemberOf", reflect.TypeOf((*MockManager)(nil).IsMemberOf), token, group)
}

// SetPrincipalOnCurrentUser mocks base method.
func (m *MockManager) SetPrincipalOnCurrentUser(r *http.Request, principal v3.Principal) (*v3.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetPrincipalOnCurrentUser", r, principal)
	ret0, _ := ret[0].(*v3.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SetPrincipalOnCurrentUser indicates an expected call of SetPrincipalOnCurrentUser.
func (mr *MockManagerMockRecorder) SetPrincipalOnCurrentUser(r, principal any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetPrincipalOnCurrentUser", reflect.TypeOf((*MockManager)(nil).SetPrincipalOnCurrentUser), r, principal)
}

// SetPrincipalOnCurrentUserByUserID mocks base method.
func (m *MockManager) SetPrincipalOnCurrentUserByUserID(userID string, principal v3.Principal) (*v3.User, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SetPrincipalOnCurrentUserByUserID", userID, principal)
	ret0, _ := ret[0].(*v3.User)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SetPrincipalOnCurrentUserByUserID indicates an expected call of SetPrincipalOnCurrentUserByUserID.
func (mr *MockManagerMockRecorder) SetPrincipalOnCurrentUserByUserID(userID, principal any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetPrincipalOnCurrentUserByUserID", reflect.TypeOf((*MockManager)(nil).SetPrincipalOnCurrentUserByUserID), userID, principal)
}

// UserAttributeCreateOrUpdate mocks base method.
func (m *MockManager) UserAttributeCreateOrUpdate(userID, provider string, groupPrincipals []v3.Principal, userExtraInfo map[string][]string, loginTime ...time.Time) error {
	m.ctrl.T.Helper()
	varargs := []any{userID, provider, groupPrincipals, userExtraInfo}
	for _, a := range loginTime {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "UserAttributeCreateOrUpdate", varargs...)
	ret0, _ := ret[0].(error)
	return ret0
}

// UserAttributeCreateOrUpdate indicates an expected call of UserAttributeCreateOrUpdate.
func (mr *MockManagerMockRecorder) UserAttributeCreateOrUpdate(userID, provider, groupPrincipals, userExtraInfo any, loginTime ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{userID, provider, groupPrincipals, userExtraInfo}, loginTime...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UserAttributeCreateOrUpdate", reflect.TypeOf((*MockManager)(nil).UserAttributeCreateOrUpdate), varargs...)
}
