@@ -22,6 +22,8 @@ import (
2222 "path"
2323 "strings"
2424 "testing"
25+
26+ "k8s.io/kubernetes/pkg/util/version"
2527)
2628
2729func TestEmptyVersion (t * testing.T ) {
@@ -120,3 +122,38 @@ func TestVersionFromNetwork(t *testing.T) {
120122 }
121123 }
122124}
125+
126+ func TestIsNodeAuthorizerSupported (t * testing.T ) {
127+ versionsSupported := map [string ]bool {
128+ "v1.6.0" : false ,
129+ "v1.6.9" : false ,
130+ "v1.7.0-alpha.1" : false ,
131+ "v1.7.0-alpha.2" : false ,
132+ "v1.7.0-alpha.3" : false ,
133+ "v1.7.0-alpha.4" : false ,
134+ "v1.7.0-beta.0" : false ,
135+ "v1.7.0-beta.1" : true , // BREAKPOINT!
136+ "v1.7.0-beta.2" : true ,
137+ "v1.7.0-rc.0" : true ,
138+ "v1.7.0" : true ,
139+ "v1.7.3" : true ,
140+ "v1.8.0-alpha.0" : false , // EXCEPTION!
141+ "v1.8.0-alpha.1" : true ,
142+ "v1.8.0-alpha.2" : true ,
143+ "v1.8.0-beta.0" : true ,
144+ "v1.8.0-beta.1" : true ,
145+ "v1.8.0-rc.0" : true ,
146+ "v1.8.0" : true ,
147+ "v1.8.6" : true ,
148+ }
149+ for ver , expected := range versionsSupported {
150+
151+ parsedVersion , err := version .ParseSemantic (ver )
152+ if err != nil {
153+ t .Fatalf ("version %s must parse" , ver )
154+ }
155+ if actual := IsNodeAuthorizerSupported (parsedVersion ); actual != expected {
156+ t .Errorf ("IsNodeAuthorizerSupported: unexpected result for version %s, expected %t but got %t" , ver , expected , actual )
157+ }
158+ }
159+ }
0 commit comments