github.com/rohankumardubey/nomad@v0.11.8/plugins/csi/testing/client.go (about)

     1  package testing
     2  
     3  import (
     4  	"context"
     5  
     6  	csipbv1 "github.com/container-storage-interface/spec/lib/go/csi"
     7  	"google.golang.org/grpc"
     8  )
     9  
    10  // IdentityClient is a CSI identity client used for testing
    11  type IdentityClient struct {
    12  	NextErr                error
    13  	NextPluginInfo         *csipbv1.GetPluginInfoResponse
    14  	NextPluginCapabilities *csipbv1.GetPluginCapabilitiesResponse
    15  	NextPluginProbe        *csipbv1.ProbeResponse
    16  }
    17  
    18  // NewIdentityClient returns a new IdentityClient
    19  func NewIdentityClient() *IdentityClient {
    20  	return &IdentityClient{}
    21  }
    22  
    23  func (f *IdentityClient) Reset() {
    24  	f.NextErr = nil
    25  	f.NextPluginInfo = nil
    26  	f.NextPluginCapabilities = nil
    27  	f.NextPluginProbe = nil
    28  }
    29  
    30  // GetPluginInfo returns plugin info
    31  func (f *IdentityClient) GetPluginInfo(ctx context.Context, in *csipbv1.GetPluginInfoRequest, opts ...grpc.CallOption) (*csipbv1.GetPluginInfoResponse, error) {
    32  	return f.NextPluginInfo, f.NextErr
    33  }
    34  
    35  // GetPluginCapabilities implements csi method
    36  func (f *IdentityClient) GetPluginCapabilities(ctx context.Context, in *csipbv1.GetPluginCapabilitiesRequest, opts ...grpc.CallOption) (*csipbv1.GetPluginCapabilitiesResponse, error) {
    37  	return f.NextPluginCapabilities, f.NextErr
    38  }
    39  
    40  // Probe implements csi method
    41  func (f *IdentityClient) Probe(ctx context.Context, in *csipbv1.ProbeRequest, opts ...grpc.CallOption) (*csipbv1.ProbeResponse, error) {
    42  	return f.NextPluginProbe, f.NextErr
    43  }
    44  
    45  // ControllerClient is a CSI controller client used for testing
    46  type ControllerClient struct {
    47  	NextErr                                error
    48  	NextCapabilitiesResponse               *csipbv1.ControllerGetCapabilitiesResponse
    49  	NextPublishVolumeResponse              *csipbv1.ControllerPublishVolumeResponse
    50  	NextUnpublishVolumeResponse            *csipbv1.ControllerUnpublishVolumeResponse
    51  	NextValidateVolumeCapabilitiesResponse *csipbv1.ValidateVolumeCapabilitiesResponse
    52  }
    53  
    54  // NewControllerClient returns a new ControllerClient
    55  func NewControllerClient() *ControllerClient {
    56  	return &ControllerClient{}
    57  }
    58  
    59  func (f *ControllerClient) Reset() {
    60  	f.NextErr = nil
    61  	f.NextCapabilitiesResponse = nil
    62  	f.NextPublishVolumeResponse = nil
    63  	f.NextUnpublishVolumeResponse = nil
    64  	f.NextValidateVolumeCapabilitiesResponse = nil
    65  }
    66  
    67  func (c *ControllerClient) ControllerGetCapabilities(ctx context.Context, in *csipbv1.ControllerGetCapabilitiesRequest, opts ...grpc.CallOption) (*csipbv1.ControllerGetCapabilitiesResponse, error) {
    68  	return c.NextCapabilitiesResponse, c.NextErr
    69  }
    70  
    71  func (c *ControllerClient) ControllerPublishVolume(ctx context.Context, in *csipbv1.ControllerPublishVolumeRequest, opts ...grpc.CallOption) (*csipbv1.ControllerPublishVolumeResponse, error) {
    72  	return c.NextPublishVolumeResponse, c.NextErr
    73  }
    74  
    75  func (c *ControllerClient) ControllerUnpublishVolume(ctx context.Context, in *csipbv1.ControllerUnpublishVolumeRequest, opts ...grpc.CallOption) (*csipbv1.ControllerUnpublishVolumeResponse, error) {
    76  	return c.NextUnpublishVolumeResponse, c.NextErr
    77  }
    78  
    79  func (c *ControllerClient) ValidateVolumeCapabilities(ctx context.Context, in *csipbv1.ValidateVolumeCapabilitiesRequest, opts ...grpc.CallOption) (*csipbv1.ValidateVolumeCapabilitiesResponse, error) {
    80  	return c.NextValidateVolumeCapabilitiesResponse, c.NextErr
    81  }
    82  
    83  // NodeClient is a CSI Node client used for testing
    84  type NodeClient struct {
    85  	NextErr                     error
    86  	NextCapabilitiesResponse    *csipbv1.NodeGetCapabilitiesResponse
    87  	NextGetInfoResponse         *csipbv1.NodeGetInfoResponse
    88  	NextStageVolumeResponse     *csipbv1.NodeStageVolumeResponse
    89  	NextUnstageVolumeResponse   *csipbv1.NodeUnstageVolumeResponse
    90  	NextPublishVolumeResponse   *csipbv1.NodePublishVolumeResponse
    91  	NextUnpublishVolumeResponse *csipbv1.NodeUnpublishVolumeResponse
    92  }
    93  
    94  // NewNodeClient returns a new stub NodeClient
    95  func NewNodeClient() *NodeClient {
    96  	return &NodeClient{}
    97  }
    98  
    99  func (f *NodeClient) Reset() {
   100  	f.NextErr = nil
   101  	f.NextCapabilitiesResponse = nil
   102  	f.NextGetInfoResponse = nil
   103  	f.NextStageVolumeResponse = nil
   104  	f.NextUnstageVolumeResponse = nil
   105  	f.NextPublishVolumeResponse = nil
   106  	f.NextUnpublishVolumeResponse = nil
   107  }
   108  
   109  func (c *NodeClient) NodeGetCapabilities(ctx context.Context, in *csipbv1.NodeGetCapabilitiesRequest, opts ...grpc.CallOption) (*csipbv1.NodeGetCapabilitiesResponse, error) {
   110  	return c.NextCapabilitiesResponse, c.NextErr
   111  }
   112  
   113  func (c *NodeClient) NodeGetInfo(ctx context.Context, in *csipbv1.NodeGetInfoRequest, opts ...grpc.CallOption) (*csipbv1.NodeGetInfoResponse, error) {
   114  	return c.NextGetInfoResponse, c.NextErr
   115  }
   116  
   117  func (c *NodeClient) NodeStageVolume(ctx context.Context, in *csipbv1.NodeStageVolumeRequest, opts ...grpc.CallOption) (*csipbv1.NodeStageVolumeResponse, error) {
   118  	return c.NextStageVolumeResponse, c.NextErr
   119  }
   120  
   121  func (c *NodeClient) NodeUnstageVolume(ctx context.Context, in *csipbv1.NodeUnstageVolumeRequest, opts ...grpc.CallOption) (*csipbv1.NodeUnstageVolumeResponse, error) {
   122  	return c.NextUnstageVolumeResponse, c.NextErr
   123  }
   124  
   125  func (c *NodeClient) NodePublishVolume(ctx context.Context, in *csipbv1.NodePublishVolumeRequest, opts ...grpc.CallOption) (*csipbv1.NodePublishVolumeResponse, error) {
   126  	return c.NextPublishVolumeResponse, c.NextErr
   127  }
   128  
   129  func (c *NodeClient) NodeUnpublishVolume(ctx context.Context, in *csipbv1.NodeUnpublishVolumeRequest, opts ...grpc.CallOption) (*csipbv1.NodeUnpublishVolumeResponse, error) {
   130  	return c.NextUnpublishVolumeResponse, c.NextErr
   131  }