const TestPluginName … type TestPlugin … func (plugin *TestPlugin) Init(host volume.VolumeHost) error { … } func (plugin *TestPlugin) GetPluginName() string { … } func (plugin *TestPlugin) GetVolumeName(spec *volume.Spec) (string, error) { … } func (plugin *TestPlugin) CanSupport(spec *volume.Spec) bool { … } func (plugin *TestPlugin) RequiresRemount(spec *volume.Spec) bool { … } func (plugin *TestPlugin) NewMounter(spec *volume.Spec, podRef *v1.Pod) (volume.Mounter, error) { … } func (plugin *TestPlugin) NewUnmounter(name string, podUID types.UID) (volume.Unmounter, error) { … } func (plugin *TestPlugin) ConstructVolumeSpec(volumeName, mountPath string) (volume.ReconstructedVolume, error) { … } func (plugin *TestPlugin) NewAttacher() (volume.Attacher, error) { … } func (plugin *TestPlugin) NewDeviceMounter() (volume.DeviceMounter, error) { … } func (plugin *TestPlugin) NewDetacher() (volume.Detacher, error) { … } func (plugin *TestPlugin) CanAttach(spec *volume.Spec) (bool, error) { … } func (plugin *TestPlugin) CanDeviceMount(spec *volume.Spec) (bool, error) { … } func (plugin *TestPlugin) NewDeviceUnmounter() (volume.DeviceUnmounter, error) { … } func (plugin *TestPlugin) GetDeviceMountRefs(deviceMountPath string) ([]string, error) { … } func (plugin *TestPlugin) SupportsMountOption() bool { … } func (plugin *TestPlugin) SupportsBulkVolumeVerification() bool { … } func (plugin *TestPlugin) SupportsSELinuxContextMount(spec *volume.Spec) (bool, error) { … } func (plugin *TestPlugin) GetErrorEncountered() bool { … } func (plugin *TestPlugin) GetAttachedVolumes() map[string][]string { … } func (plugin *TestPlugin) GetDetachedVolumes() map[string][]string { … } func CreateTestPlugin(supportCSIVolume bool) []volume.VolumePlugin { … } type testPluginAttacher … func (attacher *testPluginAttacher) Attach(spec *volume.Spec, nodeName types.NodeName) (string, error) { … } func (attacher *testPluginAttacher) VolumesAreAttached(specs []*volume.Spec, nodeName types.NodeName) (map[*volume.Spec]bool, error) { … } func (attacher *testPluginAttacher) WaitForAttach(spec *volume.Spec, devicePath string, pod *v1.Pod, timeout time.Duration) (string, error) { … } func (attacher *testPluginAttacher) GetDeviceMountPath(spec *volume.Spec) (string, error) { … } func (attacher *testPluginAttacher) MountDevice(spec *volume.Spec, devicePath string, deviceMountPath string, _ volume.DeviceMounterArgs) error { … } type testPluginDetacher … func (detacher *testPluginDetacher) Detach(volumeName string, nodeName types.NodeName) error { … } func (detacher *testPluginDetacher) UnmountDevice(deviceMountPath string) error { … }