@@ -90,6 +90,28 @@ def setUp(self):
9090 self .cmd = server_group .CreateServerGroup (self .app , None )
9191
9292 def test_server_group_create (self ):
93+ arglist = [
94+ '--policy' , 'anti-affinity' ,
95+ 'affinity_group' ,
96+ ]
97+ verifylist = [
98+ ('policy' , 'anti-affinity' ),
99+ ('name' , 'affinity_group' ),
100+ ]
101+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
102+ columns , data = self .cmd .take_action (parsed_args )
103+ self .server_groups_mock .create .assert_called_once_with (
104+ name = parsed_args .name ,
105+ policies = [parsed_args .policy ],
106+ )
107+
108+ self .assertEqual (self .columns , columns )
109+ self .assertEqual (self .data , data )
110+
111+ def test_server_group_create_with_soft_policies (self ):
112+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
113+ '2.15' )
114+
93115 arglist = [
94116 '--policy' , 'soft-anti-affinity' ,
95117 'affinity_group' ,
@@ -108,6 +130,27 @@ def test_server_group_create(self):
108130 self .assertEqual (self .columns , columns )
109131 self .assertEqual (self .data , data )
110132
133+ def test_server_group_create_with_soft_policies_pre_v215 (self ):
134+ self .app .client_manager .compute .api_version = api_versions .APIVersion (
135+ '2.14' )
136+
137+ arglist = [
138+ '--policy' , 'soft-anti-affinity' ,
139+ 'affinity_group' ,
140+ ]
141+ verifylist = [
142+ ('policy' , 'soft-anti-affinity' ),
143+ ('name' , 'affinity_group' ),
144+ ]
145+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
146+ ex = self .assertRaises (
147+ exceptions .CommandError ,
148+ self .cmd .take_action ,
149+ parsed_args )
150+ self .assertIn (
151+ '--os-compute-api-version 2.15 or greater is required' ,
152+ str (ex ))
153+
111154 def test_server_group_create_v264 (self ):
112155 self .app .client_manager .compute .api_version = api_versions .APIVersion (
113156 '2.64' )
0 commit comments