@@ -537,12 +537,12 @@ func Test_GetOrCreatePort(t *testing.T) {
537
537
}
538
538
539
539
func Test_GarbageCollectErrorInstancesPort (t * testing.T ) {
540
- mockCtrl := gomock . NewController ( t )
541
- defer mockCtrl . Finish ()
542
-
543
- instanceName : = "foo "
544
- portID1 : = "dc6e0ae3-dad6-4240-a9cb-e541916f20d3 "
545
- portID2 := "a38ab1cb-c2cc-4c1b-9d1d-696ec73356d2"
540
+ const (
541
+ instanceName = "foo"
542
+ portID1 = "dc6e0ae3-dad6-4240-a9cb-e541916f20d3"
543
+ portID2 = "a38ab1cb-c2cc-4c1b-9d1d-696ec73356d2 "
544
+ trunkID1 = "6ecfc5c2-7ee7-41b3-bba7-874b9b1423b7 "
545
+ )
546
546
portName1 := GetPortName (instanceName , nil , 0 )
547
547
portName2 := GetPortName (instanceName , nil , 1 )
548
548
@@ -553,6 +553,8 @@ func Test_GarbageCollectErrorInstancesPort(t *testing.T) {
553
553
expect func (m * mock.MockNetworkClientMockRecorder )
554
554
// portOpts defines the instance ports as defined in the OSM spec.
555
555
portOpts []infrav1.PortOpts
556
+ // trunkSupported indicates whether we should check for trunk ports
557
+ trunkSupported bool
556
558
// wantErr defines whether the test is supposed to fail.
557
559
wantErr bool
558
560
}{
@@ -589,12 +591,57 @@ func Test_GarbageCollectErrorInstancesPort(t *testing.T) {
589
591
},
590
592
wantErr : false ,
591
593
},
594
+ {
595
+ name : "succeed if there are no ports to be cleaned up" ,
596
+ expect : func (m * mock.MockNetworkClientMockRecorder ) {
597
+ o1 := ports.ListOpts {
598
+ Name : portName1 ,
599
+ }
600
+ m .ListPort (o1 ).Return ([]ports.Port {}, nil )
601
+ },
602
+ portOpts : []infrav1.PortOpts {
603
+ {},
604
+ },
605
+ wantErr : false ,
606
+ },
607
+ {
608
+ name : "cleanup trunk port" ,
609
+ expect : func (m * mock.MockNetworkClientMockRecorder ) {
610
+ o1 := ports.ListOpts {
611
+ Name : portName1 ,
612
+ }
613
+ p1 := []ports.Port {
614
+ {
615
+ ID : portID1 ,
616
+ Name : portName1 ,
617
+ },
618
+ }
619
+ m .ListPort (o1 ).Return (p1 , nil )
620
+ m .ListTrunk (trunks.ListOpts {
621
+ PortID : portID1 ,
622
+ }).Return ([]trunks.Trunk {
623
+ {
624
+ ID : trunkID1 ,
625
+ },
626
+ }, nil )
627
+ m .DeleteTrunk (trunkID1 )
628
+ m .DeletePort (portID1 )
629
+ },
630
+ portOpts : []infrav1.PortOpts {
631
+ {},
632
+ },
633
+ trunkSupported : true ,
634
+ wantErr : false ,
635
+ },
592
636
}
593
637
594
638
eventObject := & infrav1.OpenStackMachine {}
595
639
596
640
for _ , tt := range tests {
597
641
t .Run (tt .name , func (t * testing.T ) {
642
+ mockCtrl := gomock .NewController (t )
643
+ defer mockCtrl .Finish ()
644
+
598
645
g := NewWithT (t )
599
646
mockClient := mock .NewMockNetworkClient (mockCtrl )
600
647
tt .expect (mockClient .EXPECT ())
@@ -605,6 +652,7 @@ func Test_GarbageCollectErrorInstancesPort(t *testing.T) {
605
652
eventObject ,
606
653
instanceName ,
607
654
tt .portOpts ,
655
+ tt .trunkSupported ,
608
656
)
609
657
if tt .wantErr {
610
658
g .Expect (err ).To (HaveOccurred ())
0 commit comments