@@ -21,8 +21,8 @@ def test_cluster_create_with_acl(self):
2121 self .client .lke .cluster_create (
2222 "us-mia" ,
2323 "test-acl-cluster" ,
24- [self .client .lke .node_pool ("g6-nanode-1" , 3 )],
2524 "1.29" ,
25+ [self .client .lke .node_pool ("g6-nanode-1" , 3 )],
2626 control_plane = LKEClusterControlPlaneOptions (
2727 acl = LKEClusterControlPlaneACLOptions (
2828 enabled = True ,
@@ -41,3 +41,53 @@ def test_cluster_create_with_acl(self):
4141 assert m .call_data ["control_plane" ]["acl" ]["addresses" ]["ipv6" ] == [
4242 "1234::5678"
4343 ]
44+
45+ def test_cluster_create_enterprise_without_node_pools (self ):
46+ """
47+ Tests that an enterprise LKE cluster can be created without node pools.
48+ """
49+ with self .mock_post ("lke/clusters" ) as m :
50+ self .client .lke .cluster_create (
51+ "us-west" ,
52+ "test-enterprise-cluster" ,
53+ "1.29" ,
54+ tier = "enterprise" ,
55+ )
56+
57+ assert m .call_data ["region" ] == "us-west"
58+ assert m .call_data ["label" ] == "test-enterprise-cluster"
59+ assert m .call_data ["k8s_version" ] == "1.29"
60+ assert m .call_data ["tier" ] == "enterprise"
61+ assert m .call_data ["node_pools" ] == []
62+
63+ def test_cluster_create_enterprise_case_insensitive (self ):
64+ """
65+ Tests that tier comparison is case-insensitive for enterprise tier.
66+ """
67+ with self .mock_post ("lke/clusters" ) as m :
68+ self .client .lke .cluster_create (
69+ "us-west" ,
70+ "test-enterprise-cluster" ,
71+ "1.29" ,
72+ tier = "ENTERPRISE" ,
73+ )
74+
75+ assert m .call_data ["tier" ] == "ENTERPRISE"
76+ assert m .call_data ["node_pools" ] == []
77+
78+ def test_cluster_create_standard_without_node_pools_raises_error (self ):
79+ """
80+ Tests that creating a standard LKE cluster without node pools raises ValueError.
81+ """
82+ with self .assertRaises (ValueError ) as context :
83+ self .client .lke .cluster_create (
84+ "us-east" ,
85+ "test-standard-cluster" ,
86+ "1.29" ,
87+ tier = "standard" ,
88+ )
89+
90+ self .assertIn (
91+ "LKE standard clusters must have at least one node pool" ,
92+ str (context .exception ),
93+ )
0 commit comments