fake

package
v0.11.2 Latest Latest
Warning

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

Go to latest
Published: May 28, 2020 License: MPL-2.0 Imports: 9 Imported by: 0

Documentation

Overview

fake is a package that includes fake implementations of public interfaces from the CSI package for testing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Mu sync.RWMutex

	NextPluginInfoResponse *base.PluginInfoResponse
	NextPluginInfoErr      error
	PluginInfoCallCount    int64

	NextPluginProbeResponse bool
	NextPluginProbeErr      error
	PluginProbeCallCount    int64

	NextPluginGetInfoNameResponse    string
	NextPluginGetInfoVersionResponse string
	NextPluginGetInfoErr             error
	PluginGetInfoCallCount           int64

	NextPluginGetCapabilitiesResponse *csi.PluginCapabilitySet
	NextPluginGetCapabilitiesErr      error
	PluginGetCapabilitiesCallCount    int64

	NextControllerGetCapabilitiesResponse *csi.ControllerCapabilitySet
	NextControllerGetCapabilitiesErr      error
	ControllerGetCapabilitiesCallCount    int64

	NextControllerPublishVolumeResponse *csi.ControllerPublishVolumeResponse
	NextControllerPublishVolumeErr      error
	ControllerPublishVolumeCallCount    int64

	NextControllerUnpublishVolumeResponse *csi.ControllerUnpublishVolumeResponse
	NextControllerUnpublishVolumeErr      error
	ControllerUnpublishVolumeCallCount    int64

	NextControllerValidateVolumeErr   error
	ControllerValidateVolumeCallCount int64

	NextNodeGetCapabilitiesResponse *csi.NodeCapabilitySet
	NextNodeGetCapabilitiesErr      error
	NodeGetCapabilitiesCallCount    int64

	NextNodeGetInfoResponse *csi.NodeGetInfoResponse
	NextNodeGetInfoErr      error
	NodeGetInfoCallCount    int64

	NextNodeStageVolumeErr   error
	NodeStageVolumeCallCount int64

	NextNodeUnstageVolumeErr   error
	NodeUnstageVolumeCallCount int64

	PrevVolumeCapability       *csi.VolumeCapability
	NextNodePublishVolumeErr   error
	NodePublishVolumeCallCount int64

	NextNodeUnpublishVolumeErr   error
	NodeUnpublishVolumeCallCount int64
}

Client is a mock implementation of the csi.CSIPlugin interface for use in testing external components

func (*Client) Close

func (c *Client) Close() error

Shutdown the client and ensure any connections are cleaned up.

func (*Client) ConfigSchema

func (c *Client) ConfigSchema() (*hclspec.Spec, error)

ConfigSchema returns the schema for parsing the plugins configuration.

func (*Client) ControllerGetCapabilities

func (c *Client) ControllerGetCapabilities(ctx context.Context) (*csi.ControllerCapabilitySet, error)

func (*Client) ControllerPublishVolume

ControllerPublishVolume is used to attach a remote volume to a node

func (*Client) ControllerUnpublishVolume

ControllerUnpublishVolume is used to attach a remote volume to a node

func (*Client) ControllerValidateCapabilities

func (c *Client) ControllerValidateCapabilities(ctx context.Context, volumeID string, capabilities *csi.VolumeCapability, secrets structs.CSISecrets, opts ...grpc.CallOption) error

func (*Client) NodeGetCapabilities

func (c *Client) NodeGetCapabilities(ctx context.Context) (*csi.NodeCapabilitySet, error)

func (*Client) NodeGetInfo

func (c *Client) NodeGetInfo(ctx context.Context) (*csi.NodeGetInfoResponse, error)

NodeGetInfo is used to return semantic data about the current node in respect to the SP.

func (*Client) NodePublishVolume

func (c *Client) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest, opts ...grpc.CallOption) error

func (*Client) NodeStageVolume

func (c *Client) NodeStageVolume(ctx context.Context, volumeID string, publishContext map[string]string, stagingTargetPath string, capabilities *csi.VolumeCapability, secrets structs.CSISecrets, opts ...grpc.CallOption) error

NodeStageVolume is used when a plugin has the STAGE_UNSTAGE volume capability to prepare a volume for usage on a host. If err == nil, the response should be assumed to be successful.

func (*Client) NodeUnpublishVolume

func (c *Client) NodeUnpublishVolume(ctx context.Context, volumeID, targetPath string, opts ...grpc.CallOption) error

func (*Client) NodeUnstageVolume

func (c *Client) NodeUnstageVolume(ctx context.Context, volumeID string, stagingTargetPath string, opts ...grpc.CallOption) error

NodeUnstageVolume is used when a plugin has the STAGE_UNSTAGE volume capability to undo the work performed by NodeStageVolume. If a volume has been staged, this RPC must be called before freeing the volume.

If err == nil, the response should be assumed to be successful.

func (*Client) PluginGetCapabilities

func (c *Client) PluginGetCapabilities(ctx context.Context) (*csi.PluginCapabilitySet, error)

PluginGetCapabilities is used to return the available capabilities from the identity service. This currently only looks for the CONTROLLER_SERVICE and Accessible Topology Support

func (*Client) PluginGetInfo

func (c *Client) PluginGetInfo(ctx context.Context) (string, string, error)

PluginGetInfo is used to return semantic data about the plugin. Response:

  • string: name, the name of the plugin in domain notation format.

func (*Client) PluginInfo

func (c *Client) PluginInfo() (*base.PluginInfoResponse, error)

PluginInfo describes the type and version of a plugin.

func (*Client) PluginProbe

func (c *Client) PluginProbe(ctx context.Context) (bool, error)

PluginProbe is used to verify that the plugin is in a healthy state

func (*Client) SetConfig

func (c *Client) SetConfig(a *base.Config) error

SetConfig is used to set the configuration by passing a MessagePack encoding of it.

Jump to

Keyboard shortcuts

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