@@ -15,6 +15,7 @@ import (
15
15
vmoperatorv1alpha2 "github.com/vmware-tanzu/vm-operator/api/v1alpha2"
16
16
vmoperatorv1alpha3 "github.com/vmware-tanzu/vm-operator/api/v1alpha3"
17
17
vmoperatorv1alpha4 "github.com/vmware-tanzu/vm-operator/api/v1alpha4"
18
+ vmoperatorv1alpha5 "github.com/vmware-tanzu/vm-operator/api/v1alpha5"
18
19
cnssim "github.com/vmware/govmomi/cns/simulator"
19
20
"github.com/vmware/govmomi/cns/types"
20
21
"github.com/vmware/govmomi/simulator"
@@ -298,22 +299,22 @@ func TestListVirtualMachines(t *testing.T) {
298
299
vmoperatorv1alpha1 .AddToScheme ,
299
300
})
300
301
clientBuilder .WithRuntimeObjects (namespace , otherNamespace , vm1 , vm2 , vm3 )
301
- v1Alpha4VM1 := vmoperatorv1alpha4 .VirtualMachine {
302
+ v1Alpha4VM1 := vmoperatorv1alpha5 .VirtualMachine {
302
303
ObjectMeta : metav1.ObjectMeta {
303
304
Name : "vm1" ,
304
305
Namespace : namespace .Name ,
305
306
},
306
307
}
307
- v1Alpha4VM2 := vmoperatorv1alpha4 .VirtualMachine {
308
+ v1Alpha4VM2 := vmoperatorv1alpha5 .VirtualMachine {
308
309
ObjectMeta : metav1.ObjectMeta {
309
310
Name : "vm2" ,
310
311
Namespace : namespace .Name ,
311
312
},
312
313
}
313
- exp := vmoperatorv1alpha4 .VirtualMachineList {
314
+ exp := vmoperatorv1alpha5 .VirtualMachineList {
314
315
TypeMeta : metav1.TypeMeta {},
315
316
ListMeta : metav1.ListMeta {},
316
- Items : []vmoperatorv1alpha4 .VirtualMachine {
317
+ Items : []vmoperatorv1alpha5 .VirtualMachine {
317
318
v1Alpha4VM1 ,
318
319
v1Alpha4VM2 ,
319
320
},
@@ -394,22 +395,22 @@ func TestListVirtualMachines(t *testing.T) {
394
395
vmoperatorv1alpha2 .AddToScheme ,
395
396
})
396
397
clientBuilder .WithRuntimeObjects (namespace , vm1 , vm2 )
397
- v1Alpha4VM1 := vmoperatorv1alpha4 .VirtualMachine {
398
+ v1Alpha4VM1 := vmoperatorv1alpha5 .VirtualMachine {
398
399
ObjectMeta : metav1.ObjectMeta {
399
400
Name : "vm1" ,
400
401
Namespace : namespace .Name ,
401
402
},
402
403
}
403
- v1Alpha4VM2 := vmoperatorv1alpha4 .VirtualMachine {
404
+ v1Alpha4VM2 := vmoperatorv1alpha5 .VirtualMachine {
404
405
ObjectMeta : metav1.ObjectMeta {
405
406
Name : "vm2" ,
406
407
Namespace : namespace .Name ,
407
408
},
408
409
}
409
- exp := vmoperatorv1alpha4 .VirtualMachineList {
410
+ exp := vmoperatorv1alpha5 .VirtualMachineList {
410
411
TypeMeta : metav1.TypeMeta {},
411
412
ListMeta : metav1.ListMeta {},
412
- Items : []vmoperatorv1alpha4 .VirtualMachine {
413
+ Items : []vmoperatorv1alpha5 .VirtualMachine {
413
414
v1Alpha4VM1 ,
414
415
v1Alpha4VM2 ,
415
416
},
@@ -490,22 +491,22 @@ func TestListVirtualMachines(t *testing.T) {
490
491
vmoperatorv1alpha3 .AddToScheme ,
491
492
})
492
493
clientBuilder .WithRuntimeObjects (namespace , vm1 , vm2 )
493
- v1Alpha4VM1 := vmoperatorv1alpha4 .VirtualMachine {
494
+ v1Alpha4VM1 := vmoperatorv1alpha5 .VirtualMachine {
494
495
ObjectMeta : metav1.ObjectMeta {
495
496
Name : "vm1" ,
496
497
Namespace : namespace .Name ,
497
498
},
498
499
}
499
- v1Alpha4VM2 := vmoperatorv1alpha4 .VirtualMachine {
500
+ v1Alpha4VM2 := vmoperatorv1alpha5 .VirtualMachine {
500
501
ObjectMeta : metav1.ObjectMeta {
501
502
Name : "vm2" ,
502
503
Namespace : namespace .Name ,
503
504
},
504
505
}
505
- exp := vmoperatorv1alpha4 .VirtualMachineList {
506
+ exp := vmoperatorv1alpha5 .VirtualMachineList {
506
507
TypeMeta : metav1.TypeMeta {},
507
508
ListMeta : metav1.ListMeta {},
508
- Items : []vmoperatorv1alpha4 .VirtualMachine {
509
+ Items : []vmoperatorv1alpha5 .VirtualMachine {
509
510
v1Alpha4VM1 ,
510
511
v1Alpha4VM2 ,
511
512
},
@@ -520,8 +521,7 @@ func TestListVirtualMachines(t *testing.T) {
520
521
assert .True (tt , compareVirtualMachineLists (exp , * actual ))
521
522
})
522
523
})
523
-
524
- t .Run ("WhenLatestCRDVersionIsV1Alpha4OrAbove" , func (tt * testing.T ) {
524
+ t .Run ("WhenLatestCRDVersionIsV1Alpha4" , func (tt * testing.T ) {
525
525
getLatestCRDVersion = func (ctx context.Context , crdName string ) (string , error ) {
526
526
return "v1alpha4" , nil
527
527
}
@@ -586,10 +586,105 @@ func TestListVirtualMachines(t *testing.T) {
586
586
vmoperatorv1alpha4 .AddToScheme ,
587
587
})
588
588
clientBuilder .WithRuntimeObjects (namespace , vm1 , vm2 )
589
- exp := vmoperatorv1alpha4.VirtualMachineList {
589
+ v1Alpha4VM1 := vmoperatorv1alpha5.VirtualMachine {
590
+ ObjectMeta : metav1.ObjectMeta {
591
+ Name : "vm1" ,
592
+ Namespace : namespace .Name ,
593
+ },
594
+ }
595
+ v1Alpha4VM2 := vmoperatorv1alpha5.VirtualMachine {
596
+ ObjectMeta : metav1.ObjectMeta {
597
+ Name : "vm2" ,
598
+ Namespace : namespace .Name ,
599
+ },
600
+ }
601
+ exp := vmoperatorv1alpha5.VirtualMachineList {
602
+ TypeMeta : metav1.TypeMeta {},
603
+ ListMeta : metav1.ListMeta {},
604
+ Items : []vmoperatorv1alpha5.VirtualMachine {
605
+ v1Alpha4VM1 ,
606
+ v1Alpha4VM2 ,
607
+ },
608
+ }
609
+
610
+ // Execute
611
+ actual , err := ListVirtualMachines (context .Background (), clientBuilder .Build (), namespace .Name )
612
+
613
+ // Assert
614
+ assert .Nil (tt , err )
615
+ assert .NotNil (tt , actual )
616
+ assert .True (tt , compareVirtualMachineLists (exp , * actual ))
617
+ })
618
+ })
619
+ t .Run ("WhenLatestCRDVersionIsV1Alpha5OrAbove" , func (tt * testing.T ) {
620
+ getLatestCRDVersion = func (ctx context.Context , crdName string ) (string , error ) {
621
+ return "v1alpha5" , nil
622
+ }
623
+ tt .Run ("WhenListFails" , func (ttt * testing.T ) {
624
+ // Setup
625
+ clientBuilder := fake .NewClientBuilder ()
626
+ clientBuilder .WithInterceptorFuncs (
627
+ interceptor.Funcs {
628
+ List : func (ctx context.Context , client client.WithWatch , list client.ObjectList ,
629
+ opts ... client.ListOption ) error {
630
+ return fmt .Errorf ("failing list for testing purposes" )
631
+ }})
632
+
633
+ // Execute
634
+ _ , err := ListVirtualMachines (context .Background (), clientBuilder .Build (), "" )
635
+
636
+ // Assert
637
+ assert .NotNil (ttt , err )
638
+ })
639
+ tt .Run ("WhenListSucceeds" , func (ttt * testing.T ) {
640
+ // Setup
641
+ namespace := & v1.Namespace {
642
+ TypeMeta : metav1.TypeMeta {
643
+ Kind : "Namespace" ,
644
+ },
645
+ ObjectMeta : metav1.ObjectMeta {
646
+ Name : "namespace" ,
647
+ },
648
+ Spec : v1.NamespaceSpec {
649
+ Finalizers : []v1.FinalizerName {
650
+ v1 .FinalizerKubernetes ,
651
+ },
652
+ },
653
+ Status : v1.NamespaceStatus {
654
+ Phase : v1 .NamespaceActive ,
655
+ },
656
+ }
657
+ vm1 := & vmoperatorv1alpha5.VirtualMachine {
658
+ TypeMeta : metav1.TypeMeta {
659
+ Kind : "VirtualMachine" ,
660
+ APIVersion : "vmoperator.vmware.com/v1alpha5" ,
661
+ },
662
+ ObjectMeta : metav1.ObjectMeta {
663
+ Name : "vm1" ,
664
+ Namespace : namespace .Name ,
665
+ },
666
+ }
667
+ vm2 := & vmoperatorv1alpha5.VirtualMachine {
668
+ TypeMeta : metav1.TypeMeta {
669
+ Kind : "VirtualMachine" ,
670
+ APIVersion : "vmoperator.vmware.com/v1alpha5" ,
671
+ },
672
+ ObjectMeta : metav1.ObjectMeta {
673
+ Name : "vm2" ,
674
+ Namespace : namespace .Name ,
675
+ },
676
+ }
677
+ clientBuilder := fake .NewClientBuilder ()
678
+ scheme := runtime .NewScheme ()
679
+ clientBuilder = registerSchemes (context .Background (), clientBuilder , scheme , runtime.SchemeBuilder {
680
+ v1 .AddToScheme ,
681
+ vmoperatorv1alpha5 .AddToScheme ,
682
+ })
683
+ clientBuilder .WithRuntimeObjects (namespace , vm1 , vm2 )
684
+ exp := vmoperatorv1alpha5.VirtualMachineList {
590
685
TypeMeta : metav1.TypeMeta {},
591
686
ListMeta : metav1.ListMeta {},
592
- Items : []vmoperatorv1alpha4 .VirtualMachine {
687
+ Items : []vmoperatorv1alpha5 .VirtualMachine {
593
688
* vm1 ,
594
689
* vm2 ,
595
690
},
@@ -617,7 +712,7 @@ func registerSchemes(ctx context.Context, clientBuilder *fake.ClientBuilder, sch
617
712
return clientBuilder
618
713
}
619
714
620
- func compareVirtualMachineLists (exp , actual vmoperatorv1alpha4 .VirtualMachineList ) bool {
715
+ func compareVirtualMachineLists (exp , actual vmoperatorv1alpha5 .VirtualMachineList ) bool {
621
716
// since the list output may not be in the same order, we will compare the items
622
717
// using brute force.
623
718
if len (exp .Items ) != len (actual .Items ) {
0 commit comments