@@ -95,9 +95,10 @@ def test_IPv6(self):
9595
9696
9797class Namespace :
98- def __init__ (self , api_server_authorized_ip_ranges = None , cluster_autoscaler_profile = None ):
98+ def __init__ (self , api_server_authorized_ip_ranges = None , cluster_autoscaler_profile = None , kubernetes_version = None ):
9999 self .api_server_authorized_ip_ranges = api_server_authorized_ip_ranges
100100 self .cluster_autoscaler_profile = cluster_autoscaler_profile
101+ self .kubernetes_version = kubernetes_version
101102
102103
103104class TestVNetSubnetId (unittest .TestCase ):
@@ -419,6 +420,45 @@ def test_valid_format(self):
419420
420421 validators .validate_credential_format (namespace )
421422
423+ class TestValidateKubernetesVersion (unittest .TestCase ):
424+
425+ def test_valid_full_kubernetes_version (self ):
426+ kubernetes_version = "1.11.8"
427+ namespace = Namespace (kubernetes_version = kubernetes_version )
428+
429+ validators .validate_k8s_version (namespace )
430+
431+ def test_valid_alias_minor_version (self ):
432+ kubernetes_version = "1.11"
433+ namespace = Namespace (kubernetes_version = kubernetes_version )
434+
435+ validators .validate_k8s_version (namespace )
436+
437+ def test_valid_empty_kubernetes_version (self ):
438+ kubernetes_version = ""
439+ namespace = Namespace (kubernetes_version = kubernetes_version )
440+
441+ validators .validate_k8s_version (namespace )
442+
443+ def test_invalid_kubernetes_version (self ):
444+ kubernetes_version = "1.2.3.4"
445+
446+ namespace = Namespace (kubernetes_version = kubernetes_version )
447+ err = ("--kubernetes-version should be the full version number or major.minor version number, "
448+ "such as \" 1.7.12\" or \" 1.7\" " )
449+
450+ with self .assertRaises (CLIError ) as cm :
451+ validators .validate_k8s_version (namespace )
452+ self .assertEqual (str (cm .exception ), err )
453+
454+ kubernetes_version = "1."
455+
456+ namespace = Namespace (kubernetes_version = kubernetes_version )
457+
458+ with self .assertRaises (CLIError ) as cm :
459+ validators .validate_k8s_version (namespace )
460+ self .assertEqual (str (cm .exception ), err )
461+
422462
423463if __name__ == "__main__" :
424464 unittest .main ()
0 commit comments