@@ -236,6 +236,46 @@ func TestLoadProvisionerConfigs(t *testing.T) {
236236 },
237237 nil ,
238238 },
239+ {
240+ map [string ]string {"storageClassMap" : `local-storage:
241+ hostDir: /mnt/disks
242+ mountDir: /mnt/disks
243+ selector:
244+ - matchExpressions:
245+ - key: "kubernetes.io/hostname"
246+ operator: "In"
247+ values:
248+ - otherNode1
249+ ` ,
250+ },
251+ ProvisionerConfiguration {
252+ StorageClassConfig : map [string ]MountConfig {
253+ "local-storage" : {
254+ HostDir : "/mnt/disks" ,
255+ MountDir : "/mnt/disks" ,
256+ BlockCleanerCommand : []string {"/scripts/quick_reset.sh" },
257+ VolumeMode : "Filesystem" ,
258+ NamePattern : "*" ,
259+ Selector : []v1.NodeSelectorTerm {
260+ {
261+ MatchExpressions : []v1.NodeSelectorRequirement {
262+ {
263+ Key : "kubernetes.io/hostname" ,
264+ Operator : v1 .NodeSelectorOpIn ,
265+ Values : []string {"otherNode1" },
266+ },
267+ },
268+ },
269+ },
270+ },
271+ },
272+ UseAlphaAPI : true ,
273+ MinResyncPeriod : metav1.Duration {
274+ Duration : time .Hour + time .Minute * 30 ,
275+ },
276+ },
277+ nil ,
278+ },
239279 }
240280 for _ , v := range testcases {
241281 for name , value := range v .data {
@@ -477,7 +517,7 @@ func TestGetVolumeMode(t *testing.T) {
477517 }
478518}
479519
480- func TestNodeExists (t * testing.T ) {
520+ func TestAnyNodeExists (t * testing.T ) {
481521 nodeName := "test-node"
482522 nodeWithName := & v1.Node {
483523 ObjectMeta : metav1.ObjectMeta {
@@ -495,21 +535,39 @@ func TestNodeExists(t *testing.T) {
495535 tests := []struct {
496536 nodeAdded * v1.Node
497537 // Required.
498- nodeQueried * v1. Node
538+ nodeQueried [] string
499539 expectedResult bool
500540 }{
501541 {
502542 nodeAdded : nodeWithName ,
503- nodeQueried : nodeWithName ,
543+ nodeQueried : [] string { nodeName } ,
504544 expectedResult : true ,
505545 },
506546 {
507547 nodeAdded : nodeWithLabel ,
508- nodeQueried : nodeWithName ,
548+ nodeQueried : [] string { nodeName } ,
509549 expectedResult : true ,
510550 },
511551 {
512- nodeQueried : nodeWithName ,
552+ nodeQueried : []string {nodeName },
553+ expectedResult : false ,
554+ },
555+ {
556+ nodeAdded : nodeWithName ,
557+ nodeQueried : []string {"other-node" , nodeName },
558+ expectedResult : true ,
559+ },
560+ {
561+ nodeAdded : nodeWithLabel ,
562+ nodeQueried : []string {"other-node" , nodeName },
563+ expectedResult : true ,
564+ },
565+ {
566+ nodeQueried : []string {},
567+ expectedResult : false ,
568+ },
569+ {
570+ nodeQueried : nil ,
513571 expectedResult : false ,
514572 },
515573 }
@@ -523,62 +581,13 @@ func TestNodeExists(t *testing.T) {
523581 nodeInformer .Informer ().GetStore ().Add (test .nodeAdded )
524582 }
525583
526- exists , err := NodeExists (nodeInformer .Lister (), test .nodeQueried .Name )
527- if err != nil {
528- t .Errorf ("Got unexpected error: %s" , err .Error ())
529- }
584+ exists := AnyNodeExists (nodeInformer .Lister (), test .nodeQueried )
530585 if exists != test .expectedResult {
531586 t .Errorf ("expected result: %t, actual: %t" , test .expectedResult , exists )
532587 }
533588 }
534589}
535590
536- func TestNodeAttachedToLocalPV (t * testing.T ) {
537- nodeName := "testNodeName"
538-
539- tests := []struct {
540- name string
541- pv * v1.PersistentVolume
542- expectedNodeName string
543- expectedStatus bool
544- }{
545- {
546- name : "NodeAffinity will all necessary fields" ,
547- pv : withNodeAffinity (pv (), []string {nodeName }, NodeLabelKey ),
548- expectedNodeName : nodeName ,
549- expectedStatus : true ,
550- },
551- {
552- name : "empty nodeNames array" ,
553- pv : withNodeAffinity (pv (), []string {}, NodeLabelKey ),
554- expectedNodeName : "" ,
555- expectedStatus : false ,
556- },
557- {
558- name : "multiple nodeNames" ,
559- pv : withNodeAffinity (pv (), []string {nodeName , "newNode" }, NodeLabelKey ),
560- expectedNodeName : "" ,
561- expectedStatus : false ,
562- },
563- {
564- name : "wrong node label key" ,
565- pv : withNodeAffinity (pv (), []string {nodeName }, "wrongLabel" ),
566- expectedNodeName : "" ,
567- expectedStatus : false ,
568- },
569- }
570-
571- for _ , test := range tests {
572- nodeName , ok := NodeAttachedToLocalPV (test .pv )
573- if ok != test .expectedStatus {
574- t .Errorf ("test: %s, status: %t, expectedStaus: %t" , test .name , ok , test .expectedStatus )
575- }
576- if nodeName != test .expectedNodeName {
577- t .Errorf ("test: %s, nodeName: %s, expectedNodeName: %s" , test .name , nodeName , test .expectedNodeName )
578- }
579- }
580- }
581-
582591func TestIsLocalPVWithStorageClass (t * testing.T ) {
583592 tests := []struct {
584593 name string
0 commit comments