@@ -476,6 +476,65 @@ func TestNodePublishVolume(t *testing.T) {
476476 DefaultError : status .Error (codes .Internal , "Error getting username and password from secret in namespace podnamespace: could not username and password from secret(): KubeClient is nil" ),
477477 },
478478 },
479+ {
480+ desc : "[Success] Read-only from MULTI_NODE_READER_ONLY access mode" ,
481+ req : & csi.NodePublishVolumeRequest {
482+ VolumeCapability : & csi.VolumeCapability {
483+ AccessMode : & csi.VolumeCapability_AccessMode {Mode : csi .VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY },
484+ AccessType : & csi.VolumeCapability_Mount {
485+ Mount : & csi.VolumeCapability_MountVolume {},
486+ },
487+ },
488+ VolumeId : "vol_1" ,
489+ TargetPath : targetTest ,
490+ StagingTargetPath : sourceTest ,
491+ Readonly : false },
492+ expectedErr : testutil.TestError {},
493+ },
494+ {
495+ desc : "[Success] Read-only from SINGLE_NODE_READER_ONLY access mode" ,
496+ req : & csi.NodePublishVolumeRequest {
497+ VolumeCapability : & csi.VolumeCapability {
498+ AccessMode : & csi.VolumeCapability_AccessMode {Mode : csi .VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY },
499+ AccessType : & csi.VolumeCapability_Mount {
500+ Mount : & csi.VolumeCapability_MountVolume {},
501+ },
502+ },
503+ VolumeId : "vol_1" ,
504+ TargetPath : targetTest ,
505+ StagingTargetPath : sourceTest ,
506+ Readonly : false },
507+ expectedErr : testutil.TestError {},
508+ },
509+ {
510+ desc : "[Success] Read-only from mount flags containing 'ro'" ,
511+ req : & csi.NodePublishVolumeRequest {
512+ VolumeCapability : & csi.VolumeCapability {
513+ AccessMode : & volumeCap ,
514+ AccessType : & csi.VolumeCapability_Mount {
515+ Mount : & csi.VolumeCapability_MountVolume {
516+ MountFlags : []string {"ro" },
517+ },
518+ },
519+ },
520+ VolumeId : "vol_1" ,
521+ TargetPath : targetTest ,
522+ StagingTargetPath : sourceTest ,
523+ Readonly : false },
524+ expectedErr : testutil.TestError {},
525+ },
526+ {
527+ desc : "[Success] No nil panic when VolumeCapability has no Mount (block access type)" ,
528+ req : & csi.NodePublishVolumeRequest {
529+ VolumeCapability : & csi.VolumeCapability {
530+ AccessMode : & volumeCap ,
531+ },
532+ VolumeId : "vol_1" ,
533+ TargetPath : targetTest ,
534+ StagingTargetPath : sourceTest ,
535+ Readonly : false },
536+ expectedErr : testutil.TestError {},
537+ },
479538 }
480539
481540 // Setup
0 commit comments