// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq

package fakes

import (
	"context"
	"sync"
	"time"

	"github.com/rancher/norman/controller"
	"github.com/rancher/norman/objectclient"
	v3 "github.com/rancher/rancher/pkg/apis/management.cattle.io/v3"
	v31 "github.com/rancher/rancher/pkg/generated/norman/management.cattle.io/v3"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/labels"
	"k8s.io/apimachinery/pkg/watch"
	"k8s.io/client-go/tools/cache"
)

var (
	lockPodSecurityAdmissionConfigurationTemplateListerMockGet  sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateListerMockList sync.RWMutex
)

// Ensure, that PodSecurityAdmissionConfigurationTemplateListerMock does implement v31.PodSecurityAdmissionConfigurationTemplateLister.
// If this is not the case, regenerate this file with moq.
var _ v31.PodSecurityAdmissionConfigurationTemplateLister = &PodSecurityAdmissionConfigurationTemplateListerMock{}

// PodSecurityAdmissionConfigurationTemplateListerMock is a mock implementation of v31.PodSecurityAdmissionConfigurationTemplateLister.
//
//	    func TestSomethingThatUsesPodSecurityAdmissionConfigurationTemplateLister(t *testing.T) {
//
//	        // make and configure a mocked v31.PodSecurityAdmissionConfigurationTemplateLister
//	        mockedPodSecurityAdmissionConfigurationTemplateLister := &PodSecurityAdmissionConfigurationTemplateListerMock{
//	            GetFunc: func(namespace string, name string) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the Get method")
//	            },
//	            ListFunc: func(namespace string, selector labels.Selector) ([]*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the List method")
//	            },
//	        }
//
//	        // use mockedPodSecurityAdmissionConfigurationTemplateLister in code that requires v31.PodSecurityAdmissionConfigurationTemplateLister
//	        // and then make assertions.
//
//	    }
type PodSecurityAdmissionConfigurationTemplateListerMock struct {
	// GetFunc mocks the Get method.
	GetFunc func(namespace string, name string) (*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// ListFunc mocks the List method.
	ListFunc func(namespace string, selector labels.Selector) ([]*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// calls tracks calls to the methods.
	calls struct {
		// Get holds details about calls to the Get method.
		Get []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Name is the name argument value.
			Name string
		}
		// List holds details about calls to the List method.
		List []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Selector is the selector argument value.
			Selector labels.Selector
		}
	}
}

// Get calls GetFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateListerMock) Get(namespace string, name string) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.GetFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateListerMock.GetFunc: method is nil but PodSecurityAdmissionConfigurationTemplateLister.Get was just called")
	}
	callInfo := struct {
		Namespace string
		Name      string
	}{
		Namespace: namespace,
		Name:      name,
	}
	lockPodSecurityAdmissionConfigurationTemplateListerMockGet.Lock()
	mock.calls.Get = append(mock.calls.Get, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateListerMockGet.Unlock()
	return mock.GetFunc(namespace, name)
}

// GetCalls gets all the calls that were made to Get.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateLister.GetCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateListerMock) GetCalls() []struct {
	Namespace string
	Name      string
} {
	var calls []struct {
		Namespace string
		Name      string
	}
	lockPodSecurityAdmissionConfigurationTemplateListerMockGet.RLock()
	calls = mock.calls.Get
	lockPodSecurityAdmissionConfigurationTemplateListerMockGet.RUnlock()
	return calls
}

// List calls ListFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateListerMock) List(namespace string, selector labels.Selector) ([]*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.ListFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateListerMock.ListFunc: method is nil but PodSecurityAdmissionConfigurationTemplateLister.List was just called")
	}
	callInfo := struct {
		Namespace string
		Selector  labels.Selector
	}{
		Namespace: namespace,
		Selector:  selector,
	}
	lockPodSecurityAdmissionConfigurationTemplateListerMockList.Lock()
	mock.calls.List = append(mock.calls.List, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateListerMockList.Unlock()
	return mock.ListFunc(namespace, selector)
}

// ListCalls gets all the calls that were made to List.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateLister.ListCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateListerMock) ListCalls() []struct {
	Namespace string
	Selector  labels.Selector
} {
	var calls []struct {
		Namespace string
		Selector  labels.Selector
	}
	lockPodSecurityAdmissionConfigurationTemplateListerMockList.RLock()
	calls = mock.calls.List
	lockPodSecurityAdmissionConfigurationTemplateListerMockList.RUnlock()
	return calls
}

var (
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedFeatureHandler sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedHandler        sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddFeatureHandler              sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddHandler                     sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueue                        sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueueAfter                   sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockGeneric                        sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockInformer                       sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateControllerMockLister                         sync.RWMutex
)

// Ensure, that PodSecurityAdmissionConfigurationTemplateControllerMock does implement v31.PodSecurityAdmissionConfigurationTemplateController.
// If this is not the case, regenerate this file with moq.
var _ v31.PodSecurityAdmissionConfigurationTemplateController = &PodSecurityAdmissionConfigurationTemplateControllerMock{}

// PodSecurityAdmissionConfigurationTemplateControllerMock is a mock implementation of v31.PodSecurityAdmissionConfigurationTemplateController.
//
//	    func TestSomethingThatUsesPodSecurityAdmissionConfigurationTemplateController(t *testing.T) {
//
//	        // make and configure a mocked v31.PodSecurityAdmissionConfigurationTemplateController
//	        mockedPodSecurityAdmissionConfigurationTemplateController := &PodSecurityAdmissionConfigurationTemplateControllerMock{
//	            AddClusterScopedFeatureHandlerFunc: func(ctx context.Context, enabled func() bool, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddClusterScopedFeatureHandler method")
//	            },
//	            AddClusterScopedHandlerFunc: func(ctx context.Context, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddClusterScopedHandler method")
//	            },
//	            AddFeatureHandlerFunc: func(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddFeatureHandler method")
//	            },
//	            AddHandlerFunc: func(ctx context.Context, name string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddHandler method")
//	            },
//	            EnqueueFunc: func(namespace string, name string)  {
//		               panic("mock out the Enqueue method")
//	            },
//	            EnqueueAfterFunc: func(namespace string, name string, after time.Duration)  {
//		               panic("mock out the EnqueueAfter method")
//	            },
//	            GenericFunc: func() controller.GenericController {
//		               panic("mock out the Generic method")
//	            },
//	            InformerFunc: func() cache.SharedIndexInformer {
//		               panic("mock out the Informer method")
//	            },
//	            ListerFunc: func() v31.PodSecurityAdmissionConfigurationTemplateLister {
//		               panic("mock out the Lister method")
//	            },
//	        }
//
//	        // use mockedPodSecurityAdmissionConfigurationTemplateController in code that requires v31.PodSecurityAdmissionConfigurationTemplateController
//	        // and then make assertions.
//
//	    }
type PodSecurityAdmissionConfigurationTemplateControllerMock struct {
	// AddClusterScopedFeatureHandlerFunc mocks the AddClusterScopedFeatureHandler method.
	AddClusterScopedFeatureHandlerFunc func(ctx context.Context, enabled func() bool, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddClusterScopedHandlerFunc mocks the AddClusterScopedHandler method.
	AddClusterScopedHandlerFunc func(ctx context.Context, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddFeatureHandlerFunc mocks the AddFeatureHandler method.
	AddFeatureHandlerFunc func(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddHandlerFunc mocks the AddHandler method.
	AddHandlerFunc func(ctx context.Context, name string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// EnqueueFunc mocks the Enqueue method.
	EnqueueFunc func(namespace string, name string)

	// EnqueueAfterFunc mocks the EnqueueAfter method.
	EnqueueAfterFunc func(namespace string, name string, after time.Duration)

	// GenericFunc mocks the Generic method.
	GenericFunc func() controller.GenericController

	// InformerFunc mocks the Informer method.
	InformerFunc func() cache.SharedIndexInformer

	// ListerFunc mocks the Lister method.
	ListerFunc func() v31.PodSecurityAdmissionConfigurationTemplateLister

	// calls tracks calls to the methods.
	calls struct {
		// AddClusterScopedFeatureHandler holds details about calls to the AddClusterScopedFeatureHandler method.
		AddClusterScopedFeatureHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Handler is the handler argument value.
			Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddClusterScopedHandler holds details about calls to the AddClusterScopedHandler method.
		AddClusterScopedHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Handler is the handler argument value.
			Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddFeatureHandler holds details about calls to the AddFeatureHandler method.
		AddFeatureHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// Sync is the sync argument value.
			Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddHandler holds details about calls to the AddHandler method.
		AddHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// Handler is the handler argument value.
			Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// Enqueue holds details about calls to the Enqueue method.
		Enqueue []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Name is the name argument value.
			Name string
		}
		// EnqueueAfter holds details about calls to the EnqueueAfter method.
		EnqueueAfter []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Name is the name argument value.
			Name string
			// After is the after argument value.
			After time.Duration
		}
		// Generic holds details about calls to the Generic method.
		Generic []struct {
		}
		// Informer holds details about calls to the Informer method.
		Informer []struct {
		}
		// Lister holds details about calls to the Lister method.
		Lister []struct {
		}
	}
}

// AddClusterScopedFeatureHandler calls AddClusterScopedFeatureHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddClusterScopedFeatureHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.AddClusterScopedFeatureHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.AddClusterScopedFeatureHandler was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:         ctx,
		Enabled:     enabled,
		Name:        name,
		ClusterName: clusterName,
		Handler:     handler,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedFeatureHandler.Lock()
	mock.calls.AddClusterScopedFeatureHandler = append(mock.calls.AddClusterScopedFeatureHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedFeatureHandler.Unlock()
	mock.AddClusterScopedFeatureHandlerFunc(ctx, enabled, name, clusterName, handler)
}

// AddClusterScopedFeatureHandlerCalls gets all the calls that were made to AddClusterScopedFeatureHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.AddClusterScopedFeatureHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddClusterScopedFeatureHandlerCalls() []struct {
	Ctx         context.Context
	Enabled     func() bool
	Name        string
	ClusterName string
	Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedFeatureHandler.RLock()
	calls = mock.calls.AddClusterScopedFeatureHandler
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedFeatureHandler.RUnlock()
	return calls
}

// AddClusterScopedHandler calls AddClusterScopedHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddClusterScopedHandler(ctx context.Context, name string, clusterName string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddClusterScopedHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.AddClusterScopedHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.AddClusterScopedHandler was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:         ctx,
		Name:        name,
		ClusterName: clusterName,
		Handler:     handler,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedHandler.Lock()
	mock.calls.AddClusterScopedHandler = append(mock.calls.AddClusterScopedHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedHandler.Unlock()
	mock.AddClusterScopedHandlerFunc(ctx, name, clusterName, handler)
}

// AddClusterScopedHandlerCalls gets all the calls that were made to AddClusterScopedHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.AddClusterScopedHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddClusterScopedHandlerCalls() []struct {
	Ctx         context.Context
	Name        string
	ClusterName string
	Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Handler     v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedHandler.RLock()
	calls = mock.calls.AddClusterScopedHandler
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddClusterScopedHandler.RUnlock()
	return calls
}

// AddFeatureHandler calls AddFeatureHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddFeatureHandler(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddFeatureHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.AddFeatureHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.AddFeatureHandler was just called")
	}
	callInfo := struct {
		Ctx     context.Context
		Enabled func() bool
		Name    string
		Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:     ctx,
		Enabled: enabled,
		Name:    name,
		Sync:    syncMoqParam,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddFeatureHandler.Lock()
	mock.calls.AddFeatureHandler = append(mock.calls.AddFeatureHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddFeatureHandler.Unlock()
	mock.AddFeatureHandlerFunc(ctx, enabled, name, syncMoqParam)
}

// AddFeatureHandlerCalls gets all the calls that were made to AddFeatureHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.AddFeatureHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddFeatureHandlerCalls() []struct {
	Ctx     context.Context
	Enabled func() bool
	Name    string
	Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx     context.Context
		Enabled func() bool
		Name    string
		Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddFeatureHandler.RLock()
	calls = mock.calls.AddFeatureHandler
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddFeatureHandler.RUnlock()
	return calls
}

// AddHandler calls AddHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddHandler(ctx context.Context, name string, handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.AddHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.AddHandler was just called")
	}
	callInfo := struct {
		Ctx     context.Context
		Name    string
		Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:     ctx,
		Name:    name,
		Handler: handler,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddHandler.Lock()
	mock.calls.AddHandler = append(mock.calls.AddHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddHandler.Unlock()
	mock.AddHandlerFunc(ctx, name, handler)
}

// AddHandlerCalls gets all the calls that were made to AddHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.AddHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) AddHandlerCalls() []struct {
	Ctx     context.Context
	Name    string
	Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx     context.Context
		Name    string
		Handler v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddHandler.RLock()
	calls = mock.calls.AddHandler
	lockPodSecurityAdmissionConfigurationTemplateControllerMockAddHandler.RUnlock()
	return calls
}

// Enqueue calls EnqueueFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) Enqueue(namespace string, name string) {
	if mock.EnqueueFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.EnqueueFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.Enqueue was just called")
	}
	callInfo := struct {
		Namespace string
		Name      string
	}{
		Namespace: namespace,
		Name:      name,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueue.Lock()
	mock.calls.Enqueue = append(mock.calls.Enqueue, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueue.Unlock()
	mock.EnqueueFunc(namespace, name)
}

// EnqueueCalls gets all the calls that were made to Enqueue.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.EnqueueCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) EnqueueCalls() []struct {
	Namespace string
	Name      string
} {
	var calls []struct {
		Namespace string
		Name      string
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueue.RLock()
	calls = mock.calls.Enqueue
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueue.RUnlock()
	return calls
}

// EnqueueAfter calls EnqueueAfterFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) EnqueueAfter(namespace string, name string, after time.Duration) {
	if mock.EnqueueAfterFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.EnqueueAfterFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.EnqueueAfter was just called")
	}
	callInfo := struct {
		Namespace string
		Name      string
		After     time.Duration
	}{
		Namespace: namespace,
		Name:      name,
		After:     after,
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueueAfter.Lock()
	mock.calls.EnqueueAfter = append(mock.calls.EnqueueAfter, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueueAfter.Unlock()
	mock.EnqueueAfterFunc(namespace, name, after)
}

// EnqueueAfterCalls gets all the calls that were made to EnqueueAfter.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.EnqueueAfterCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) EnqueueAfterCalls() []struct {
	Namespace string
	Name      string
	After     time.Duration
} {
	var calls []struct {
		Namespace string
		Name      string
		After     time.Duration
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueueAfter.RLock()
	calls = mock.calls.EnqueueAfter
	lockPodSecurityAdmissionConfigurationTemplateControllerMockEnqueueAfter.RUnlock()
	return calls
}

// Generic calls GenericFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) Generic() controller.GenericController {
	if mock.GenericFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.GenericFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.Generic was just called")
	}
	callInfo := struct {
	}{}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockGeneric.Lock()
	mock.calls.Generic = append(mock.calls.Generic, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockGeneric.Unlock()
	return mock.GenericFunc()
}

// GenericCalls gets all the calls that were made to Generic.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.GenericCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) GenericCalls() []struct {
} {
	var calls []struct {
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockGeneric.RLock()
	calls = mock.calls.Generic
	lockPodSecurityAdmissionConfigurationTemplateControllerMockGeneric.RUnlock()
	return calls
}

// Informer calls InformerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) Informer() cache.SharedIndexInformer {
	if mock.InformerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.InformerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.Informer was just called")
	}
	callInfo := struct {
	}{}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockInformer.Lock()
	mock.calls.Informer = append(mock.calls.Informer, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockInformer.Unlock()
	return mock.InformerFunc()
}

// InformerCalls gets all the calls that were made to Informer.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.InformerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) InformerCalls() []struct {
} {
	var calls []struct {
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockInformer.RLock()
	calls = mock.calls.Informer
	lockPodSecurityAdmissionConfigurationTemplateControllerMockInformer.RUnlock()
	return calls
}

// Lister calls ListerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) Lister() v31.PodSecurityAdmissionConfigurationTemplateLister {
	if mock.ListerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateControllerMock.ListerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateController.Lister was just called")
	}
	callInfo := struct {
	}{}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockLister.Lock()
	mock.calls.Lister = append(mock.calls.Lister, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateControllerMockLister.Unlock()
	return mock.ListerFunc()
}

// ListerCalls gets all the calls that were made to Lister.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateController.ListerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateControllerMock) ListerCalls() []struct {
} {
	var calls []struct {
	}
	lockPodSecurityAdmissionConfigurationTemplateControllerMockLister.RLock()
	calls = mock.calls.Lister
	lockPodSecurityAdmissionConfigurationTemplateControllerMockLister.RUnlock()
	return calls
}

var (
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureHandler   sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureLifecycle sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedHandler          sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedLifecycle        sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureHandler                sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureLifecycle              sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddHandler                       sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddLifecycle                     sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockController                       sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockCreate                           sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDelete                           sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteCollection                 sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteNamespaced                 sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGet                              sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGetNamespaced                    sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockList                             sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockListNamespaced                   sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockObjectClient                     sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockUpdate                           sync.RWMutex
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockWatch                            sync.RWMutex
)

// Ensure, that PodSecurityAdmissionConfigurationTemplateInterfaceMock does implement v31.PodSecurityAdmissionConfigurationTemplateInterface.
// If this is not the case, regenerate this file with moq.
var _ v31.PodSecurityAdmissionConfigurationTemplateInterface = &PodSecurityAdmissionConfigurationTemplateInterfaceMock{}

// PodSecurityAdmissionConfigurationTemplateInterfaceMock is a mock implementation of v31.PodSecurityAdmissionConfigurationTemplateInterface.
//
//	    func TestSomethingThatUsesPodSecurityAdmissionConfigurationTemplateInterface(t *testing.T) {
//
//	        // make and configure a mocked v31.PodSecurityAdmissionConfigurationTemplateInterface
//	        mockedPodSecurityAdmissionConfigurationTemplateInterface := &PodSecurityAdmissionConfigurationTemplateInterfaceMock{
//	            AddClusterScopedFeatureHandlerFunc: func(ctx context.Context, enabled func() bool, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddClusterScopedFeatureHandler method")
//	            },
//	            AddClusterScopedFeatureLifecycleFunc: func(ctx context.Context, enabled func() bool, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)  {
//		               panic("mock out the AddClusterScopedFeatureLifecycle method")
//	            },
//	            AddClusterScopedHandlerFunc: func(ctx context.Context, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddClusterScopedHandler method")
//	            },
//	            AddClusterScopedLifecycleFunc: func(ctx context.Context, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)  {
//		               panic("mock out the AddClusterScopedLifecycle method")
//	            },
//	            AddFeatureHandlerFunc: func(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddFeatureHandler method")
//	            },
//	            AddFeatureLifecycleFunc: func(ctx context.Context, enabled func() bool, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)  {
//		               panic("mock out the AddFeatureLifecycle method")
//	            },
//	            AddHandlerFunc: func(ctx context.Context, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)  {
//		               panic("mock out the AddHandler method")
//	            },
//	            AddLifecycleFunc: func(ctx context.Context, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)  {
//		               panic("mock out the AddLifecycle method")
//	            },
//	            ControllerFunc: func() v31.PodSecurityAdmissionConfigurationTemplateController {
//		               panic("mock out the Controller method")
//	            },
//	            CreateFunc: func(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the Create method")
//	            },
//	            DeleteFunc: func(name string, options *metav1.DeleteOptions) error {
//		               panic("mock out the Delete method")
//	            },
//	            DeleteCollectionFunc: func(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
//		               panic("mock out the DeleteCollection method")
//	            },
//	            DeleteNamespacedFunc: func(namespace string, name string, options *metav1.DeleteOptions) error {
//		               panic("mock out the DeleteNamespaced method")
//	            },
//	            GetFunc: func(name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the Get method")
//	            },
//	            GetNamespacedFunc: func(namespace string, name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the GetNamespaced method")
//	            },
//	            ListFunc: func(opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error) {
//		               panic("mock out the List method")
//	            },
//	            ListNamespacedFunc: func(namespace string, opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error) {
//		               panic("mock out the ListNamespaced method")
//	            },
//	            ObjectClientFunc: func() *objectclient.ObjectClient {
//		               panic("mock out the ObjectClient method")
//	            },
//	            UpdateFunc: func(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
//		               panic("mock out the Update method")
//	            },
//	            WatchFunc: func(opts metav1.ListOptions) (watch.Interface, error) {
//		               panic("mock out the Watch method")
//	            },
//	        }
//
//	        // use mockedPodSecurityAdmissionConfigurationTemplateInterface in code that requires v31.PodSecurityAdmissionConfigurationTemplateInterface
//	        // and then make assertions.
//
//	    }
type PodSecurityAdmissionConfigurationTemplateInterfaceMock struct {
	// AddClusterScopedFeatureHandlerFunc mocks the AddClusterScopedFeatureHandler method.
	AddClusterScopedFeatureHandlerFunc func(ctx context.Context, enabled func() bool, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddClusterScopedFeatureLifecycleFunc mocks the AddClusterScopedFeatureLifecycle method.
	AddClusterScopedFeatureLifecycleFunc func(ctx context.Context, enabled func() bool, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)

	// AddClusterScopedHandlerFunc mocks the AddClusterScopedHandler method.
	AddClusterScopedHandlerFunc func(ctx context.Context, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddClusterScopedLifecycleFunc mocks the AddClusterScopedLifecycle method.
	AddClusterScopedLifecycleFunc func(ctx context.Context, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)

	// AddFeatureHandlerFunc mocks the AddFeatureHandler method.
	AddFeatureHandlerFunc func(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddFeatureLifecycleFunc mocks the AddFeatureLifecycle method.
	AddFeatureLifecycleFunc func(ctx context.Context, enabled func() bool, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)

	// AddHandlerFunc mocks the AddHandler method.
	AddHandlerFunc func(ctx context.Context, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc)

	// AddLifecycleFunc mocks the AddLifecycle method.
	AddLifecycleFunc func(ctx context.Context, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle)

	// ControllerFunc mocks the Controller method.
	ControllerFunc func() v31.PodSecurityAdmissionConfigurationTemplateController

	// CreateFunc mocks the Create method.
	CreateFunc func(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// DeleteFunc mocks the Delete method.
	DeleteFunc func(name string, options *metav1.DeleteOptions) error

	// DeleteCollectionFunc mocks the DeleteCollection method.
	DeleteCollectionFunc func(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error

	// DeleteNamespacedFunc mocks the DeleteNamespaced method.
	DeleteNamespacedFunc func(namespace string, name string, options *metav1.DeleteOptions) error

	// GetFunc mocks the Get method.
	GetFunc func(name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// GetNamespacedFunc mocks the GetNamespaced method.
	GetNamespacedFunc func(namespace string, name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// ListFunc mocks the List method.
	ListFunc func(opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error)

	// ListNamespacedFunc mocks the ListNamespaced method.
	ListNamespacedFunc func(namespace string, opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error)

	// ObjectClientFunc mocks the ObjectClient method.
	ObjectClientFunc func() *objectclient.ObjectClient

	// UpdateFunc mocks the Update method.
	UpdateFunc func(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error)

	// WatchFunc mocks the Watch method.
	WatchFunc func(opts metav1.ListOptions) (watch.Interface, error)

	// calls tracks calls to the methods.
	calls struct {
		// AddClusterScopedFeatureHandler holds details about calls to the AddClusterScopedFeatureHandler method.
		AddClusterScopedFeatureHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Sync is the sync argument value.
			Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddClusterScopedFeatureLifecycle holds details about calls to the AddClusterScopedFeatureLifecycle method.
		AddClusterScopedFeatureLifecycle []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Lifecycle is the lifecycle argument value.
			Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
		}
		// AddClusterScopedHandler holds details about calls to the AddClusterScopedHandler method.
		AddClusterScopedHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Sync is the sync argument value.
			Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddClusterScopedLifecycle holds details about calls to the AddClusterScopedLifecycle method.
		AddClusterScopedLifecycle []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// ClusterName is the clusterName argument value.
			ClusterName string
			// Lifecycle is the lifecycle argument value.
			Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
		}
		// AddFeatureHandler holds details about calls to the AddFeatureHandler method.
		AddFeatureHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// Sync is the sync argument value.
			Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddFeatureLifecycle holds details about calls to the AddFeatureLifecycle method.
		AddFeatureLifecycle []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Enabled is the enabled argument value.
			Enabled func() bool
			// Name is the name argument value.
			Name string
			// Lifecycle is the lifecycle argument value.
			Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
		}
		// AddHandler holds details about calls to the AddHandler method.
		AddHandler []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// Sync is the sync argument value.
			Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
		}
		// AddLifecycle holds details about calls to the AddLifecycle method.
		AddLifecycle []struct {
			// Ctx is the ctx argument value.
			Ctx context.Context
			// Name is the name argument value.
			Name string
			// Lifecycle is the lifecycle argument value.
			Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
		}
		// Controller holds details about calls to the Controller method.
		Controller []struct {
		}
		// Create holds details about calls to the Create method.
		Create []struct {
			// In1 is the in1 argument value.
			In1 *v3.PodSecurityAdmissionConfigurationTemplate
		}
		// Delete holds details about calls to the Delete method.
		Delete []struct {
			// Name is the name argument value.
			Name string
			// Options is the options argument value.
			Options *metav1.DeleteOptions
		}
		// DeleteCollection holds details about calls to the DeleteCollection method.
		DeleteCollection []struct {
			// DeleteOpts is the deleteOpts argument value.
			DeleteOpts *metav1.DeleteOptions
			// ListOpts is the listOpts argument value.
			ListOpts metav1.ListOptions
		}
		// DeleteNamespaced holds details about calls to the DeleteNamespaced method.
		DeleteNamespaced []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Name is the name argument value.
			Name string
			// Options is the options argument value.
			Options *metav1.DeleteOptions
		}
		// Get holds details about calls to the Get method.
		Get []struct {
			// Name is the name argument value.
			Name string
			// Opts is the opts argument value.
			Opts metav1.GetOptions
		}
		// GetNamespaced holds details about calls to the GetNamespaced method.
		GetNamespaced []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Name is the name argument value.
			Name string
			// Opts is the opts argument value.
			Opts metav1.GetOptions
		}
		// List holds details about calls to the List method.
		List []struct {
			// Opts is the opts argument value.
			Opts metav1.ListOptions
		}
		// ListNamespaced holds details about calls to the ListNamespaced method.
		ListNamespaced []struct {
			// Namespace is the namespace argument value.
			Namespace string
			// Opts is the opts argument value.
			Opts metav1.ListOptions
		}
		// ObjectClient holds details about calls to the ObjectClient method.
		ObjectClient []struct {
		}
		// Update holds details about calls to the Update method.
		Update []struct {
			// In1 is the in1 argument value.
			In1 *v3.PodSecurityAdmissionConfigurationTemplate
		}
		// Watch holds details about calls to the Watch method.
		Watch []struct {
			// Opts is the opts argument value.
			Opts metav1.ListOptions
		}
	}
}

// AddClusterScopedFeatureHandler calls AddClusterScopedFeatureHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedFeatureHandler(ctx context.Context, enabled func() bool, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddClusterScopedFeatureHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddClusterScopedFeatureHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedFeatureHandler was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:         ctx,
		Enabled:     enabled,
		Name:        name,
		ClusterName: clusterName,
		Sync:        syncMoqParam,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureHandler.Lock()
	mock.calls.AddClusterScopedFeatureHandler = append(mock.calls.AddClusterScopedFeatureHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureHandler.Unlock()
	mock.AddClusterScopedFeatureHandlerFunc(ctx, enabled, name, clusterName, syncMoqParam)
}

// AddClusterScopedFeatureHandlerCalls gets all the calls that were made to AddClusterScopedFeatureHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedFeatureHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedFeatureHandlerCalls() []struct {
	Ctx         context.Context
	Enabled     func() bool
	Name        string
	ClusterName string
	Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureHandler.RLock()
	calls = mock.calls.AddClusterScopedFeatureHandler
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureHandler.RUnlock()
	return calls
}

// AddClusterScopedFeatureLifecycle calls AddClusterScopedFeatureLifecycleFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedFeatureLifecycle(ctx context.Context, enabled func() bool, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle) {
	if mock.AddClusterScopedFeatureLifecycleFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddClusterScopedFeatureLifecycleFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedFeatureLifecycle was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}{
		Ctx:         ctx,
		Enabled:     enabled,
		Name:        name,
		ClusterName: clusterName,
		Lifecycle:   lifecycle,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureLifecycle.Lock()
	mock.calls.AddClusterScopedFeatureLifecycle = append(mock.calls.AddClusterScopedFeatureLifecycle, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureLifecycle.Unlock()
	mock.AddClusterScopedFeatureLifecycleFunc(ctx, enabled, name, clusterName, lifecycle)
}

// AddClusterScopedFeatureLifecycleCalls gets all the calls that were made to AddClusterScopedFeatureLifecycle.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedFeatureLifecycleCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedFeatureLifecycleCalls() []struct {
	Ctx         context.Context
	Enabled     func() bool
	Name        string
	ClusterName string
	Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
} {
	var calls []struct {
		Ctx         context.Context
		Enabled     func() bool
		Name        string
		ClusterName string
		Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureLifecycle.RLock()
	calls = mock.calls.AddClusterScopedFeatureLifecycle
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedFeatureLifecycle.RUnlock()
	return calls
}

// AddClusterScopedHandler calls AddClusterScopedHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedHandler(ctx context.Context, name string, clusterName string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddClusterScopedHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddClusterScopedHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedHandler was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:         ctx,
		Name:        name,
		ClusterName: clusterName,
		Sync:        syncMoqParam,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedHandler.Lock()
	mock.calls.AddClusterScopedHandler = append(mock.calls.AddClusterScopedHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedHandler.Unlock()
	mock.AddClusterScopedHandlerFunc(ctx, name, clusterName, syncMoqParam)
}

// AddClusterScopedHandlerCalls gets all the calls that were made to AddClusterScopedHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedHandlerCalls() []struct {
	Ctx         context.Context
	Name        string
	ClusterName string
	Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Sync        v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedHandler.RLock()
	calls = mock.calls.AddClusterScopedHandler
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedHandler.RUnlock()
	return calls
}

// AddClusterScopedLifecycle calls AddClusterScopedLifecycleFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedLifecycle(ctx context.Context, name string, clusterName string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle) {
	if mock.AddClusterScopedLifecycleFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddClusterScopedLifecycleFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedLifecycle was just called")
	}
	callInfo := struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}{
		Ctx:         ctx,
		Name:        name,
		ClusterName: clusterName,
		Lifecycle:   lifecycle,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedLifecycle.Lock()
	mock.calls.AddClusterScopedLifecycle = append(mock.calls.AddClusterScopedLifecycle, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedLifecycle.Unlock()
	mock.AddClusterScopedLifecycleFunc(ctx, name, clusterName, lifecycle)
}

// AddClusterScopedLifecycleCalls gets all the calls that were made to AddClusterScopedLifecycle.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddClusterScopedLifecycleCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddClusterScopedLifecycleCalls() []struct {
	Ctx         context.Context
	Name        string
	ClusterName string
	Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
} {
	var calls []struct {
		Ctx         context.Context
		Name        string
		ClusterName string
		Lifecycle   v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedLifecycle.RLock()
	calls = mock.calls.AddClusterScopedLifecycle
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddClusterScopedLifecycle.RUnlock()
	return calls
}

// AddFeatureHandler calls AddFeatureHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddFeatureHandler(ctx context.Context, enabled func() bool, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddFeatureHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddFeatureHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddFeatureHandler was just called")
	}
	callInfo := struct {
		Ctx     context.Context
		Enabled func() bool
		Name    string
		Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:     ctx,
		Enabled: enabled,
		Name:    name,
		Sync:    syncMoqParam,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureHandler.Lock()
	mock.calls.AddFeatureHandler = append(mock.calls.AddFeatureHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureHandler.Unlock()
	mock.AddFeatureHandlerFunc(ctx, enabled, name, syncMoqParam)
}

// AddFeatureHandlerCalls gets all the calls that were made to AddFeatureHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddFeatureHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddFeatureHandlerCalls() []struct {
	Ctx     context.Context
	Enabled func() bool
	Name    string
	Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx     context.Context
		Enabled func() bool
		Name    string
		Sync    v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureHandler.RLock()
	calls = mock.calls.AddFeatureHandler
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureHandler.RUnlock()
	return calls
}

// AddFeatureLifecycle calls AddFeatureLifecycleFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddFeatureLifecycle(ctx context.Context, enabled func() bool, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle) {
	if mock.AddFeatureLifecycleFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddFeatureLifecycleFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddFeatureLifecycle was just called")
	}
	callInfo := struct {
		Ctx       context.Context
		Enabled   func() bool
		Name      string
		Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}{
		Ctx:       ctx,
		Enabled:   enabled,
		Name:      name,
		Lifecycle: lifecycle,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureLifecycle.Lock()
	mock.calls.AddFeatureLifecycle = append(mock.calls.AddFeatureLifecycle, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureLifecycle.Unlock()
	mock.AddFeatureLifecycleFunc(ctx, enabled, name, lifecycle)
}

// AddFeatureLifecycleCalls gets all the calls that were made to AddFeatureLifecycle.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddFeatureLifecycleCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddFeatureLifecycleCalls() []struct {
	Ctx       context.Context
	Enabled   func() bool
	Name      string
	Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
} {
	var calls []struct {
		Ctx       context.Context
		Enabled   func() bool
		Name      string
		Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureLifecycle.RLock()
	calls = mock.calls.AddFeatureLifecycle
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddFeatureLifecycle.RUnlock()
	return calls
}

// AddHandler calls AddHandlerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddHandler(ctx context.Context, name string, syncMoqParam v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc) {
	if mock.AddHandlerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddHandlerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddHandler was just called")
	}
	callInfo := struct {
		Ctx  context.Context
		Name string
		Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}{
		Ctx:  ctx,
		Name: name,
		Sync: syncMoqParam,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddHandler.Lock()
	mock.calls.AddHandler = append(mock.calls.AddHandler, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddHandler.Unlock()
	mock.AddHandlerFunc(ctx, name, syncMoqParam)
}

// AddHandlerCalls gets all the calls that were made to AddHandler.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddHandlerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddHandlerCalls() []struct {
	Ctx  context.Context
	Name string
	Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
} {
	var calls []struct {
		Ctx  context.Context
		Name string
		Sync v31.PodSecurityAdmissionConfigurationTemplateHandlerFunc
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddHandler.RLock()
	calls = mock.calls.AddHandler
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddHandler.RUnlock()
	return calls
}

// AddLifecycle calls AddLifecycleFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddLifecycle(ctx context.Context, name string, lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle) {
	if mock.AddLifecycleFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.AddLifecycleFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.AddLifecycle was just called")
	}
	callInfo := struct {
		Ctx       context.Context
		Name      string
		Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}{
		Ctx:       ctx,
		Name:      name,
		Lifecycle: lifecycle,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddLifecycle.Lock()
	mock.calls.AddLifecycle = append(mock.calls.AddLifecycle, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddLifecycle.Unlock()
	mock.AddLifecycleFunc(ctx, name, lifecycle)
}

// AddLifecycleCalls gets all the calls that were made to AddLifecycle.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.AddLifecycleCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) AddLifecycleCalls() []struct {
	Ctx       context.Context
	Name      string
	Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
} {
	var calls []struct {
		Ctx       context.Context
		Name      string
		Lifecycle v31.PodSecurityAdmissionConfigurationTemplateLifecycle
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddLifecycle.RLock()
	calls = mock.calls.AddLifecycle
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockAddLifecycle.RUnlock()
	return calls
}

// Controller calls ControllerFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Controller() v31.PodSecurityAdmissionConfigurationTemplateController {
	if mock.ControllerFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.ControllerFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Controller was just called")
	}
	callInfo := struct {
	}{}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockController.Lock()
	mock.calls.Controller = append(mock.calls.Controller, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockController.Unlock()
	return mock.ControllerFunc()
}

// ControllerCalls gets all the calls that were made to Controller.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.ControllerCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ControllerCalls() []struct {
} {
	var calls []struct {
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockController.RLock()
	calls = mock.calls.Controller
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockController.RUnlock()
	return calls
}

// Create calls CreateFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Create(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.CreateFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.CreateFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Create was just called")
	}
	callInfo := struct {
		In1 *v3.PodSecurityAdmissionConfigurationTemplate
	}{
		In1: in1,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockCreate.Lock()
	mock.calls.Create = append(mock.calls.Create, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockCreate.Unlock()
	return mock.CreateFunc(in1)
}

// CreateCalls gets all the calls that were made to Create.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.CreateCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) CreateCalls() []struct {
	In1 *v3.PodSecurityAdmissionConfigurationTemplate
} {
	var calls []struct {
		In1 *v3.PodSecurityAdmissionConfigurationTemplate
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockCreate.RLock()
	calls = mock.calls.Create
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockCreate.RUnlock()
	return calls
}

// Delete calls DeleteFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Delete(name string, options *metav1.DeleteOptions) error {
	if mock.DeleteFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.DeleteFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Delete was just called")
	}
	callInfo := struct {
		Name    string
		Options *metav1.DeleteOptions
	}{
		Name:    name,
		Options: options,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDelete.Lock()
	mock.calls.Delete = append(mock.calls.Delete, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDelete.Unlock()
	return mock.DeleteFunc(name, options)
}

// DeleteCalls gets all the calls that were made to Delete.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.DeleteCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) DeleteCalls() []struct {
	Name    string
	Options *metav1.DeleteOptions
} {
	var calls []struct {
		Name    string
		Options *metav1.DeleteOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDelete.RLock()
	calls = mock.calls.Delete
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDelete.RUnlock()
	return calls
}

// DeleteCollection calls DeleteCollectionFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) DeleteCollection(deleteOpts *metav1.DeleteOptions, listOpts metav1.ListOptions) error {
	if mock.DeleteCollectionFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.DeleteCollectionFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.DeleteCollection was just called")
	}
	callInfo := struct {
		DeleteOpts *metav1.DeleteOptions
		ListOpts   metav1.ListOptions
	}{
		DeleteOpts: deleteOpts,
		ListOpts:   listOpts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteCollection.Lock()
	mock.calls.DeleteCollection = append(mock.calls.DeleteCollection, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteCollection.Unlock()
	return mock.DeleteCollectionFunc(deleteOpts, listOpts)
}

// DeleteCollectionCalls gets all the calls that were made to DeleteCollection.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.DeleteCollectionCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) DeleteCollectionCalls() []struct {
	DeleteOpts *metav1.DeleteOptions
	ListOpts   metav1.ListOptions
} {
	var calls []struct {
		DeleteOpts *metav1.DeleteOptions
		ListOpts   metav1.ListOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteCollection.RLock()
	calls = mock.calls.DeleteCollection
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteCollection.RUnlock()
	return calls
}

// DeleteNamespaced calls DeleteNamespacedFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) DeleteNamespaced(namespace string, name string, options *metav1.DeleteOptions) error {
	if mock.DeleteNamespacedFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.DeleteNamespacedFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.DeleteNamespaced was just called")
	}
	callInfo := struct {
		Namespace string
		Name      string
		Options   *metav1.DeleteOptions
	}{
		Namespace: namespace,
		Name:      name,
		Options:   options,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteNamespaced.Lock()
	mock.calls.DeleteNamespaced = append(mock.calls.DeleteNamespaced, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteNamespaced.Unlock()
	return mock.DeleteNamespacedFunc(namespace, name, options)
}

// DeleteNamespacedCalls gets all the calls that were made to DeleteNamespaced.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.DeleteNamespacedCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) DeleteNamespacedCalls() []struct {
	Namespace string
	Name      string
	Options   *metav1.DeleteOptions
} {
	var calls []struct {
		Namespace string
		Name      string
		Options   *metav1.DeleteOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteNamespaced.RLock()
	calls = mock.calls.DeleteNamespaced
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockDeleteNamespaced.RUnlock()
	return calls
}

// Get calls GetFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Get(name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.GetFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.GetFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Get was just called")
	}
	callInfo := struct {
		Name string
		Opts metav1.GetOptions
	}{
		Name: name,
		Opts: opts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGet.Lock()
	mock.calls.Get = append(mock.calls.Get, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGet.Unlock()
	return mock.GetFunc(name, opts)
}

// GetCalls gets all the calls that were made to Get.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.GetCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) GetCalls() []struct {
	Name string
	Opts metav1.GetOptions
} {
	var calls []struct {
		Name string
		Opts metav1.GetOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGet.RLock()
	calls = mock.calls.Get
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGet.RUnlock()
	return calls
}

// GetNamespaced calls GetNamespacedFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) GetNamespaced(namespace string, name string, opts metav1.GetOptions) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.GetNamespacedFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.GetNamespacedFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.GetNamespaced was just called")
	}
	callInfo := struct {
		Namespace string
		Name      string
		Opts      metav1.GetOptions
	}{
		Namespace: namespace,
		Name:      name,
		Opts:      opts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGetNamespaced.Lock()
	mock.calls.GetNamespaced = append(mock.calls.GetNamespaced, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGetNamespaced.Unlock()
	return mock.GetNamespacedFunc(namespace, name, opts)
}

// GetNamespacedCalls gets all the calls that were made to GetNamespaced.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.GetNamespacedCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) GetNamespacedCalls() []struct {
	Namespace string
	Name      string
	Opts      metav1.GetOptions
} {
	var calls []struct {
		Namespace string
		Name      string
		Opts      metav1.GetOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGetNamespaced.RLock()
	calls = mock.calls.GetNamespaced
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockGetNamespaced.RUnlock()
	return calls
}

// List calls ListFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) List(opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error) {
	if mock.ListFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.ListFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.List was just called")
	}
	callInfo := struct {
		Opts metav1.ListOptions
	}{
		Opts: opts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockList.Lock()
	mock.calls.List = append(mock.calls.List, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockList.Unlock()
	return mock.ListFunc(opts)
}

// ListCalls gets all the calls that were made to List.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.ListCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ListCalls() []struct {
	Opts metav1.ListOptions
} {
	var calls []struct {
		Opts metav1.ListOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockList.RLock()
	calls = mock.calls.List
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockList.RUnlock()
	return calls
}

// ListNamespaced calls ListNamespacedFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ListNamespaced(namespace string, opts metav1.ListOptions) (*v3.PodSecurityAdmissionConfigurationTemplateList, error) {
	if mock.ListNamespacedFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.ListNamespacedFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.ListNamespaced was just called")
	}
	callInfo := struct {
		Namespace string
		Opts      metav1.ListOptions
	}{
		Namespace: namespace,
		Opts:      opts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockListNamespaced.Lock()
	mock.calls.ListNamespaced = append(mock.calls.ListNamespaced, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockListNamespaced.Unlock()
	return mock.ListNamespacedFunc(namespace, opts)
}

// ListNamespacedCalls gets all the calls that were made to ListNamespaced.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.ListNamespacedCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ListNamespacedCalls() []struct {
	Namespace string
	Opts      metav1.ListOptions
} {
	var calls []struct {
		Namespace string
		Opts      metav1.ListOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockListNamespaced.RLock()
	calls = mock.calls.ListNamespaced
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockListNamespaced.RUnlock()
	return calls
}

// ObjectClient calls ObjectClientFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ObjectClient() *objectclient.ObjectClient {
	if mock.ObjectClientFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.ObjectClientFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.ObjectClient was just called")
	}
	callInfo := struct {
	}{}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockObjectClient.Lock()
	mock.calls.ObjectClient = append(mock.calls.ObjectClient, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockObjectClient.Unlock()
	return mock.ObjectClientFunc()
}

// ObjectClientCalls gets all the calls that were made to ObjectClient.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.ObjectClientCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) ObjectClientCalls() []struct {
} {
	var calls []struct {
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockObjectClient.RLock()
	calls = mock.calls.ObjectClient
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockObjectClient.RUnlock()
	return calls
}

// Update calls UpdateFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Update(in1 *v3.PodSecurityAdmissionConfigurationTemplate) (*v3.PodSecurityAdmissionConfigurationTemplate, error) {
	if mock.UpdateFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.UpdateFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Update was just called")
	}
	callInfo := struct {
		In1 *v3.PodSecurityAdmissionConfigurationTemplate
	}{
		In1: in1,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockUpdate.Lock()
	mock.calls.Update = append(mock.calls.Update, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockUpdate.Unlock()
	return mock.UpdateFunc(in1)
}

// UpdateCalls gets all the calls that were made to Update.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.UpdateCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) UpdateCalls() []struct {
	In1 *v3.PodSecurityAdmissionConfigurationTemplate
} {
	var calls []struct {
		In1 *v3.PodSecurityAdmissionConfigurationTemplate
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockUpdate.RLock()
	calls = mock.calls.Update
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockUpdate.RUnlock()
	return calls
}

// Watch calls WatchFunc.
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) Watch(opts metav1.ListOptions) (watch.Interface, error) {
	if mock.WatchFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplateInterfaceMock.WatchFunc: method is nil but PodSecurityAdmissionConfigurationTemplateInterface.Watch was just called")
	}
	callInfo := struct {
		Opts metav1.ListOptions
	}{
		Opts: opts,
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockWatch.Lock()
	mock.calls.Watch = append(mock.calls.Watch, callInfo)
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockWatch.Unlock()
	return mock.WatchFunc(opts)
}

// WatchCalls gets all the calls that were made to Watch.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplateInterface.WatchCalls())
func (mock *PodSecurityAdmissionConfigurationTemplateInterfaceMock) WatchCalls() []struct {
	Opts metav1.ListOptions
} {
	var calls []struct {
		Opts metav1.ListOptions
	}
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockWatch.RLock()
	calls = mock.calls.Watch
	lockPodSecurityAdmissionConfigurationTemplateInterfaceMockWatch.RUnlock()
	return calls
}

var (
	lockPodSecurityAdmissionConfigurationTemplatesGetterMockPodSecurityAdmissionConfigurationTemplates sync.RWMutex
)

// Ensure, that PodSecurityAdmissionConfigurationTemplatesGetterMock does implement v31.PodSecurityAdmissionConfigurationTemplatesGetter.
// If this is not the case, regenerate this file with moq.
var _ v31.PodSecurityAdmissionConfigurationTemplatesGetter = &PodSecurityAdmissionConfigurationTemplatesGetterMock{}

// PodSecurityAdmissionConfigurationTemplatesGetterMock is a mock implementation of v31.PodSecurityAdmissionConfigurationTemplatesGetter.
//
//	    func TestSomethingThatUsesPodSecurityAdmissionConfigurationTemplatesGetter(t *testing.T) {
//
//	        // make and configure a mocked v31.PodSecurityAdmissionConfigurationTemplatesGetter
//	        mockedPodSecurityAdmissionConfigurationTemplatesGetter := &PodSecurityAdmissionConfigurationTemplatesGetterMock{
//	            PodSecurityAdmissionConfigurationTemplatesFunc: func(namespace string) v31.PodSecurityAdmissionConfigurationTemplateInterface {
//		               panic("mock out the PodSecurityAdmissionConfigurationTemplates method")
//	            },
//	        }
//
//	        // use mockedPodSecurityAdmissionConfigurationTemplatesGetter in code that requires v31.PodSecurityAdmissionConfigurationTemplatesGetter
//	        // and then make assertions.
//
//	    }
type PodSecurityAdmissionConfigurationTemplatesGetterMock struct {
	// PodSecurityAdmissionConfigurationTemplatesFunc mocks the PodSecurityAdmissionConfigurationTemplates method.
	PodSecurityAdmissionConfigurationTemplatesFunc func(namespace string) v31.PodSecurityAdmissionConfigurationTemplateInterface

	// calls tracks calls to the methods.
	calls struct {
		// PodSecurityAdmissionConfigurationTemplates holds details about calls to the PodSecurityAdmissionConfigurationTemplates method.
		PodSecurityAdmissionConfigurationTemplates []struct {
			// Namespace is the namespace argument value.
			Namespace string
		}
	}
}

// PodSecurityAdmissionConfigurationTemplates calls PodSecurityAdmissionConfigurationTemplatesFunc.
func (mock *PodSecurityAdmissionConfigurationTemplatesGetterMock) PodSecurityAdmissionConfigurationTemplates(namespace string) v31.PodSecurityAdmissionConfigurationTemplateInterface {
	if mock.PodSecurityAdmissionConfigurationTemplatesFunc == nil {
		panic("PodSecurityAdmissionConfigurationTemplatesGetterMock.PodSecurityAdmissionConfigurationTemplatesFunc: method is nil but PodSecurityAdmissionConfigurationTemplatesGetter.PodSecurityAdmissionConfigurationTemplates was just called")
	}
	callInfo := struct {
		Namespace string
	}{
		Namespace: namespace,
	}
	lockPodSecurityAdmissionConfigurationTemplatesGetterMockPodSecurityAdmissionConfigurationTemplates.Lock()
	mock.calls.PodSecurityAdmissionConfigurationTemplates = append(mock.calls.PodSecurityAdmissionConfigurationTemplates, callInfo)
	lockPodSecurityAdmissionConfigurationTemplatesGetterMockPodSecurityAdmissionConfigurationTemplates.Unlock()
	return mock.PodSecurityAdmissionConfigurationTemplatesFunc(namespace)
}

// PodSecurityAdmissionConfigurationTemplatesCalls gets all the calls that were made to PodSecurityAdmissionConfigurationTemplates.
// Check the length with:
//
//	len(mockedPodSecurityAdmissionConfigurationTemplatesGetter.PodSecurityAdmissionConfigurationTemplatesCalls())
func (mock *PodSecurityAdmissionConfigurationTemplatesGetterMock) PodSecurityAdmissionConfigurationTemplatesCalls() []struct {
	Namespace string
} {
	var calls []struct {
		Namespace string
	}
	lockPodSecurityAdmissionConfigurationTemplatesGetterMockPodSecurityAdmissionConfigurationTemplates.RLock()
	calls = mock.calls.PodSecurityAdmissionConfigurationTemplates
	lockPodSecurityAdmissionConfigurationTemplatesGetterMockPodSecurityAdmissionConfigurationTemplates.RUnlock()
	return calls
}
