@@ -23,84 +23,60 @@ import (
2323 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2424)
2525
26- func TestGetPersistentVolumeFromHandle (t * testing.T ) {
26+ func TestPersistentVolumeKeyFunc (t * testing.T ) {
2727 testDriverName := "hostpath.csi.k8s.io"
2828 testVolumeHandle := "df39ea9e-1296-11ef-adde-baf37ed30dae"
2929 testPvName := "pv-name"
3030
31- pvListTest := v1.PersistentVolumeList {
32- Items : []v1.PersistentVolume {
33- {
34- ObjectMeta : metav1.ObjectMeta {
35- Name : testPvName ,
36- },
37- Spec : v1.PersistentVolumeSpec {
38- PersistentVolumeSource : v1.PersistentVolumeSource {
39- CSI : & v1.CSIPersistentVolumeSource {
40- Driver : testDriverName ,
41- VolumeHandle : testVolumeHandle ,
42- },
43- },
31+ csiPV := v1.PersistentVolume {
32+ ObjectMeta : metav1.ObjectMeta {
33+ Name : testPvName ,
34+ },
35+ Spec : v1.PersistentVolumeSpec {
36+ PersistentVolumeSource : v1.PersistentVolumeSource {
37+ CSI : & v1.CSIPersistentVolumeSource {
38+ Driver : testDriverName ,
39+ VolumeHandle : testVolumeHandle ,
4440 },
4541 },
46- {
47- ObjectMeta : metav1. ObjectMeta {
48- Name : "pv-no-csi" ,
49- },
50- Spec : v1. PersistentVolumeSpec {
51- PersistentVolumeSource : v1. PersistentVolumeSource {
52- HostPath : & v1.HostPathVolumeSource {},
53- },
54- },
42+ },
43+ }
44+ hostPathPV := v1. PersistentVolume {
45+ ObjectMeta : metav1. ObjectMeta {
46+ Name : "pv-no-csi" ,
47+ },
48+ Spec : v1.PersistentVolumeSpec {
49+ PersistentVolumeSource : v1. PersistentVolumeSource {
50+ HostPath : & v1. HostPathVolumeSource { },
5551 },
5652 },
5753 }
5854
5955 tests := []struct {
60- testName string
61- driverName string
62- volumeHandle string
63- pvList v1.PersistentVolumeList
64- pvName string
56+ testName string
57+ pv * v1.PersistentVolume
58+ expectedKey string
6559 }{
6660 {
67- testName : "empty-pv-list" ,
68- driverName : testDriverName ,
69- volumeHandle : testVolumeHandle ,
70- pvName : "" ,
71- },
72- {
73- testName : "pv-in-list" ,
74- driverName : testDriverName ,
75- volumeHandle : testVolumeHandle ,
76- pvList : pvListTest ,
77- pvName : testPvName ,
61+ testName : "nil-pv" ,
62+ pv : nil ,
63+ expectedKey : "" ,
7864 },
7965 {
80- testName : "not-existing-volume-handle" ,
81- driverName : testDriverName ,
82- volumeHandle : "not-existing-volume-handle" ,
83- pvList : pvListTest ,
84- pvName : "" ,
66+ testName : "csi-pv" ,
67+ pv : & csiPV ,
68+ expectedKey : "hostpath.csi.k8s.io^df39ea9e-1296-11ef-adde-baf37ed30dae" ,
8569 },
8670 {
87- testName : "invalid-driver-name" ,
88- driverName : "invalid-driver-name" ,
89- volumeHandle : testVolumeHandle ,
90- pvList : pvListTest ,
91- pvName : "" ,
71+ testName : "hostpath-pv" ,
72+ pv : & hostPathPV ,
73+ expectedKey : "" ,
9274 },
9375 }
9476 for _ , tt := range tests {
95- got := GetPersistentVolumeFromHandle (& tt .pvList , tt .driverName , tt .volumeHandle )
96- if got == nil {
97- if len (tt .pvName ) != 0 {
98- t .Errorf ("%v: GetPersistentVolumeFromHandle = %v WANT %v" , tt .testName , got , tt .pvName )
99- }
100- } else {
101- if tt .pvName != got .Name {
102- t .Errorf ("%v: GetPersistentVolumeFromHandle = %v WANT %v" , tt .testName , got .Name , tt .pvName )
103- }
77+ got := PersistentVolumeKeyFunc (tt .pv )
78+ if got != tt .expectedKey {
79+ t .Errorf ("%v: PersistentVolumeKeyFunc = %#v WANT %#v" , tt .testName , got , tt .expectedKey )
10480 }
10581 }
10682}
0 commit comments