testing

package
v0.0.0-...-8a55389 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTestPVC

func CreateTestPVC(capacity string, accessModes []v1.PersistentVolumeAccessMode) *v1.PersistentVolumeClaim

CreateTestPVC returns a provisionable PVC for tests

func FindEmptyDirectoryUsageOnTmpfs

func FindEmptyDirectoryUsageOnTmpfs() (*resource.Quantity, error)

FindEmptyDirectoryUsageOnTmpfs finds the expected usage of an empty directory existing on a tmpfs filesystem on this system.

func GetTestVolumePluginMgr

func GetTestVolumePluginMgr(
	t *testing.T) (*VolumePluginMgr, *FakeVolumePlugin)

GetTestVolumePluginMgr creates, initializes, and returns a test volume plugin manager and fake volume plugin using a fake volume host.

func MetricsEqualIgnoreTimestamp

func MetricsEqualIgnoreTimestamp(a *Metrics, b *Metrics) bool

func NewFakeVolumeHost

func NewFakeVolumeHost(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin) *fakeVolumeHost

func NewFakeVolumeHostWithCloudProvider

func NewFakeVolumeHostWithCloudProvider(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, cloud cloudprovider.Interface) *fakeVolumeHost

func NewFakeVolumeHostWithNodeLabels

func NewFakeVolumeHostWithNodeLabels(rootDir string, kubeClient clientset.Interface, plugins []VolumePlugin, labels map[string]string) *fakeVolumeHost

func ProbeVolumePlugins

func ProbeVolumePlugins(config VolumeConfig) []VolumePlugin

func VerifyAttachCallCount

func VerifyAttachCallCount(
	expectedAttachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyAttachCallCount ensures that at least one of the Attachers for this plugin has the expectedAttachCallCount number of calls. Otherwise it returns an error.

func VerifyDetachCallCount

func VerifyDetachCallCount(
	expectedDetachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyDetachCallCount ensures that at least one of the Attachers for this plugin has the expectedDetachCallCount number of calls. Otherwise it returns an error.

func VerifyMountDeviceCallCount

func VerifyMountDeviceCallCount(
	expectedMountDeviceCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyMountDeviceCallCount ensures that at least one of the Mounters for this plugin has the expectedMountDeviceCallCount number of calls. Otherwise it returns an error.

func VerifySetUpCallCount

func VerifySetUpCallCount(
	expectedSetUpCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifySetUpCallCount ensures that at least one of the Mounters for this plugin has the expectedSetUpCallCount number of calls. Otherwise it returns an error.

func VerifyTearDownCallCount

func VerifyTearDownCallCount(
	expectedTearDownCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyTearDownCallCount ensures that at least one of the Unounters for this plugin has the expectedTearDownCallCount number of calls. Otherwise it returns an error.

func VerifyWaitForAttachCallCount

func VerifyWaitForAttachCallCount(
	expectedWaitForAttachCallCount int,
	fakeVolumePlugin *FakeVolumePlugin) error

VerifyWaitForAttachCallCount ensures that at least one of the Mounters for this plugin has the expectedWaitForAttachCallCount number of calls. Otherwise it returns an error.

func VerifyZeroAttachCalls

func VerifyZeroAttachCalls(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroAttachCalls ensures that all of the Attachers for this plugin have a zero AttachCallCount. Otherwise it returns an error.

func VerifyZeroDetachCallCount

func VerifyZeroDetachCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroDetachCallCount ensures that all Detachers for this plugin have a zero DetachCallCount. Otherwise it returns an error.

func VerifyZeroMountDeviceCallCount

func VerifyZeroMountDeviceCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroMountDeviceCallCount ensures that all Attachers for this plugin have a zero MountDeviceCallCount. Otherwise it returns an error.

func VerifyZeroSetUpCallCount

func VerifyZeroSetUpCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroSetUpCallCount ensures that all Mounters for this plugin have a zero SetUpCallCount. Otherwise it returns an error.

func VerifyZeroTearDownCallCount

func VerifyZeroTearDownCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroTearDownCallCount ensures that all Mounters for this plugin have a zero TearDownCallCount. Otherwise it returns an error.

func VerifyZeroWaitForAttachCallCount

func VerifyZeroWaitForAttachCallCount(fakeVolumePlugin *FakeVolumePlugin) error

VerifyZeroWaitForAttachCallCount ensures that all Attachers for this plugin have a zero WaitForAttachCallCount. Otherwise it returns an error.

Types

type FakeDeleter

type FakeDeleter struct {
	MetricsNil
	// contains filtered or unexported fields
}

func (*FakeDeleter) Delete

func (fd *FakeDeleter) Delete() error

func (*FakeDeleter) GetPath

func (fd *FakeDeleter) GetPath() string

type FakeProvisioner

type FakeProvisioner struct {
	Options VolumeOptions
	Host    VolumeHost
}

func (*FakeProvisioner) Provision

func (fc *FakeProvisioner) Provision() (*v1.PersistentVolume, error)

type FakeVolume

type FakeVolume struct {
	sync.RWMutex
	PodUID  types.UID
	VolName string
	Plugin  *FakeVolumePlugin
	MetricsNil

	SetUpCallCount              int
	TearDownCallCount           int
	AttachCallCount             int
	DetachCallCount             int
	WaitForAttachCallCount      int
	MountDeviceCallCount        int
	UnmountDeviceCallCount      int
	GetDeviceMountPathCallCount int
}

func (*FakeVolume) Attach

func (fv *FakeVolume) Attach(spec *Spec, nodeName types.NodeName) (string, error)

func (*FakeVolume) CanMount

func (fv *FakeVolume) CanMount() error

func (*FakeVolume) Detach

func (fv *FakeVolume) Detach(deviceMountPath string, nodeName types.NodeName) error

func (*FakeVolume) GetAttachCallCount

func (fv *FakeVolume) GetAttachCallCount() int

func (*FakeVolume) GetAttributes

func (_ *FakeVolume) GetAttributes() Attributes

func (*FakeVolume) GetDetachCallCount

func (fv *FakeVolume) GetDetachCallCount() int

func (*FakeVolume) GetDeviceMountPath

func (fv *FakeVolume) GetDeviceMountPath(spec *Spec) (string, error)

func (*FakeVolume) GetMountDeviceCallCount

func (fv *FakeVolume) GetMountDeviceCallCount() int

func (*FakeVolume) GetPath

func (fv *FakeVolume) GetPath() string

func (*FakeVolume) GetSetUpCallCount

func (fv *FakeVolume) GetSetUpCallCount() int

func (*FakeVolume) GetTearDownCallCount

func (fv *FakeVolume) GetTearDownCallCount() int

func (*FakeVolume) GetWaitForAttachCallCount

func (fv *FakeVolume) GetWaitForAttachCallCount() int

func (*FakeVolume) MountDevice

func (fv *FakeVolume) MountDevice(spec *Spec, devicePath string, deviceMountPath string) error

func (*FakeVolume) SetUp

func (fv *FakeVolume) SetUp(fsGroup *int64) error

func (*FakeVolume) SetUpAt

func (fv *FakeVolume) SetUpAt(dir string, fsGroup *int64) error

func (*FakeVolume) TearDown

func (fv *FakeVolume) TearDown() error

func (*FakeVolume) TearDownAt

func (fv *FakeVolume) TearDownAt(dir string) error

func (*FakeVolume) UnmountDevice

func (fv *FakeVolume) UnmountDevice(globalMountPath string) error

func (*FakeVolume) VolumesAreAttached

func (fv *FakeVolume) VolumesAreAttached(spec []*Spec, nodeName types.NodeName) (map[*Spec]bool, error)

func (*FakeVolume) WaitForAttach

func (fv *FakeVolume) WaitForAttach(spec *Spec, devicePath string, spectimeout time.Duration) (string, error)

type FakeVolumePlugin

type FakeVolumePlugin struct {
	sync.RWMutex
	PluginName             string
	Host                   VolumeHost
	Config                 VolumeConfig
	LastProvisionerOptions VolumeOptions
	NewAttacherCallCount   int
	NewDetacherCallCount   int

	Mounters   []*FakeVolume
	Unmounters []*FakeVolume
	Attachers  []*FakeVolume
	Detachers  []*FakeVolume
}

FakeVolumePlugin is useful for testing. It tries to be a fully compliant plugin, but all it does is make empty directories. Use as:

volume.RegisterPlugin(&FakePlugin{"fake-name"})

func (*FakeVolumePlugin) CanSupport

func (plugin *FakeVolumePlugin) CanSupport(spec *Spec) bool

func (*FakeVolumePlugin) ConstructVolumeSpec

func (plugin *FakeVolumePlugin) ConstructVolumeSpec(volumeName, mountPath string) (*Spec, error)

func (*FakeVolumePlugin) GetAccessModes

func (plugin *FakeVolumePlugin) GetAccessModes() []v1.PersistentVolumeAccessMode

func (*FakeVolumePlugin) GetAttachers

func (plugin *FakeVolumePlugin) GetAttachers() (Attachers []*FakeVolume)

func (*FakeVolumePlugin) GetDetachers

func (plugin *FakeVolumePlugin) GetDetachers() (Detachers []*FakeVolume)

func (*FakeVolumePlugin) GetDeviceMountRefs

func (plugin *FakeVolumePlugin) GetDeviceMountRefs(deviceMountPath string) ([]string, error)

func (*FakeVolumePlugin) GetMounters

func (plugin *FakeVolumePlugin) GetMounters() (Mounters []*FakeVolume)

func (*FakeVolumePlugin) GetNewAttacherCallCount

func (plugin *FakeVolumePlugin) GetNewAttacherCallCount() int

func (*FakeVolumePlugin) GetNewDetacherCallCount

func (plugin *FakeVolumePlugin) GetNewDetacherCallCount() int

func (*FakeVolumePlugin) GetPluginName

func (plugin *FakeVolumePlugin) GetPluginName() string

func (*FakeVolumePlugin) GetUnmounters

func (plugin *FakeVolumePlugin) GetUnmounters() (Unmounters []*FakeVolume)

func (*FakeVolumePlugin) GetVolumeName

func (plugin *FakeVolumePlugin) GetVolumeName(spec *Spec) (string, error)

func (*FakeVolumePlugin) Init

func (plugin *FakeVolumePlugin) Init(host VolumeHost) error

func (*FakeVolumePlugin) NewAttacher

func (plugin *FakeVolumePlugin) NewAttacher() (Attacher, error)

func (*FakeVolumePlugin) NewDeleter

func (plugin *FakeVolumePlugin) NewDeleter(spec *Spec) (Deleter, error)

func (*FakeVolumePlugin) NewDetacher

func (plugin *FakeVolumePlugin) NewDetacher() (Detacher, error)

func (*FakeVolumePlugin) NewMounter

func (plugin *FakeVolumePlugin) NewMounter(spec *Spec, pod *v1.Pod, opts VolumeOptions) (Mounter, error)

func (*FakeVolumePlugin) NewProvisioner

func (plugin *FakeVolumePlugin) NewProvisioner(options VolumeOptions) (Provisioner, error)

func (*FakeVolumePlugin) NewUnmounter

func (plugin *FakeVolumePlugin) NewUnmounter(volName string, podUID types.UID) (Unmounter, error)

func (*FakeVolumePlugin) Recycle

func (plugin *FakeVolumePlugin) Recycle(pvName string, spec *Spec, eventRecorder RecycleEventRecorder) error

func (*FakeVolumePlugin) RequiresRemount

func (plugin *FakeVolumePlugin) RequiresRemount() bool

func (*FakeVolumePlugin) SupportsBulkVolumeVerification

func (plugin *FakeVolumePlugin) SupportsBulkVolumeVerification() bool

func (*FakeVolumePlugin) SupportsMountOption

func (plugin *FakeVolumePlugin) SupportsMountOption() bool

type MockVolume

type MockVolume struct {
	mock.Mock
}

func (*MockVolume) GetMetrics

func (_m *MockVolume) GetMetrics() (*Metrics, error)

GetMetrics provides a mock function with given fields:

func (*MockVolume) GetPath

func (_m *MockVolume) GetPath() string

GetPath provides a mock function with given fields:

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL