@@ -617,111 +617,58 @@ func TestGetVersionStates(t *testing.T) {
617
617
CurrentVersion : currentClusterConfigVersion ,
618
618
PreferredVersion : currentClusterConfigVersion ,
619
619
}
620
- versionStateOld := outputapiv1alpha2.ComponentConfigVersionState {
621
- Group : kubeadmapiv1 .GroupName ,
622
- CurrentVersion : oldClusterConfigVersion ,
623
- PreferredVersion : currentClusterConfigVersion ,
624
- ManualUpgradeRequired : true ,
625
- }
626
620
627
621
cases := []struct {
628
- desc string
629
- obj runtime.Object
630
- config string
631
- expected outputapiv1alpha2.ComponentConfigVersionState
622
+ desc string
623
+ obj runtime.Object
624
+ expectedErr bool
625
+ expected outputapiv1alpha2.ComponentConfigVersionState
632
626
}{
633
627
{
634
- desc : "appropriate cluster object without overwrite" ,
635
- obj : testClusterConfigMap (currentFooClusterConfig , false ),
636
- expected : versionStateCurrent ,
637
- },
638
- {
639
- desc : "appropriate cluster object with appropriate overwrite" ,
628
+ desc : "appropriate cluster object" ,
640
629
obj : testClusterConfigMap (currentFooClusterConfig , false ),
641
- config : dedent .Dedent (currentBarClusterConfig ),
642
630
expected : versionStateCurrent ,
643
631
},
644
632
{
645
- desc : "appropriate cluster object with old overwrite" ,
646
- obj : testClusterConfigMap (currentFooClusterConfig , false ),
647
- config : dedent .Dedent (oldBarClusterConfig ),
648
- expected : versionStateOld ,
649
- },
650
- {
651
- desc : "old config without overwrite returns an error" ,
652
- obj : testClusterConfigMap (oldFooClusterConfig , false ),
653
- expected : versionStateOld ,
654
- },
655
- {
656
- desc : "old config with appropriate overwrite" ,
657
- obj : testClusterConfigMap (oldFooClusterConfig , false ),
658
- config : dedent .Dedent (currentBarClusterConfig ),
659
- expected : versionStateCurrent ,
660
- },
661
- {
662
- desc : "old config with old overwrite" ,
663
- obj : testClusterConfigMap (oldFooClusterConfig , false ),
664
- config : dedent .Dedent (oldBarClusterConfig ),
665
- expected : versionStateOld ,
666
- },
667
- {
668
- desc : "appropriate signed cluster object without overwrite" ,
669
- obj : testClusterConfigMap (currentFooClusterConfig , true ),
670
- expected : versionStateCurrent ,
633
+ desc : "old config returns an error" ,
634
+ obj : testClusterConfigMap (oldFooClusterConfig , false ),
635
+ expectedErr : true ,
671
636
},
672
637
{
673
- desc : "appropriate signed cluster object with appropriate overwrite " ,
638
+ desc : "appropriate signed cluster object" ,
674
639
obj : testClusterConfigMap (currentFooClusterConfig , true ),
675
- config : dedent .Dedent (currentBarClusterConfig ),
676
640
expected : versionStateCurrent ,
677
641
},
678
642
{
679
- desc : "appropriate signed cluster object with old overwrit" ,
680
- obj : testClusterConfigMap (currentFooClusterConfig , true ),
681
- config : dedent .Dedent (oldBarClusterConfig ),
682
- expected : versionStateOld ,
683
- },
684
- {
685
- desc : "old signed config without an overwrite" ,
643
+ desc : "old signed config" ,
686
644
obj : testClusterConfigMap (oldFooClusterConfig , true ),
687
645
expected : outputapiv1alpha2.ComponentConfigVersionState {
688
646
Group : kubeadmapiv1 .GroupName ,
689
647
CurrentVersion : "" , // The config is treated as if it's missing
690
648
PreferredVersion : currentClusterConfigVersion ,
691
649
},
692
650
},
693
- {
694
- desc : "old signed config with appropriate overwrite" ,
695
- obj : testClusterConfigMap (oldFooClusterConfig , true ),
696
- config : dedent .Dedent (currentBarClusterConfig ),
697
- expected : versionStateCurrent ,
698
- },
699
- {
700
- desc : "old signed config with old overwrite" ,
701
- obj : testClusterConfigMap (oldFooClusterConfig , true ),
702
- config : dedent .Dedent (oldBarClusterConfig ),
703
- expected : versionStateOld ,
704
- },
705
651
}
706
652
707
653
for _ , test := range cases {
708
654
t .Run (test .desc , func (t * testing.T ) {
709
655
client := clientsetfake .NewSimpleClientset (test .obj )
710
656
711
- docmap , err := kubeadmutil .SplitYAMLDocuments ([]byte (test .config ))
712
- if err != nil {
713
- t .Fatalf ("unexpected failure of SplitYAMLDocuments: %v" , err )
714
- }
715
-
716
657
clusterCfg := testClusterCfg ()
717
658
718
- got , err := GetVersionStates (clusterCfg , client , docmap )
719
- if err != nil {
659
+ got , err := GetVersionStates (clusterCfg , client )
660
+ if err != nil && ! test . expectedErr {
720
661
t .Errorf ("unexpected error: %v" , err )
721
- } else if len (got ) != 1 {
722
- t .Errorf ("got %d, but expected only a single result: %v" , len (got ), got )
723
- } else if got [0 ] != test .expected {
724
- t .Errorf ("unexpected result:\n \t expected: %v\n \t got: %v" , test .expected , got [0 ])
662
+ }
663
+ if err == nil {
664
+ if test .expectedErr {
665
+ t .Errorf ("expected error not found: %v" , test .expectedErr )
666
+ }
667
+ if len (got ) != 1 {
668
+ t .Errorf ("got %d, but expected only a single result: %v" , len (got ), got )
669
+ } else if got [0 ] != test .expected {
670
+ t .Errorf ("unexpected result:\n \t expected: %v\n \t got: %v" , test .expected , got [0 ])
671
+ }
725
672
}
726
673
})
727
674
}
0 commit comments