@@ -1213,6 +1213,67 @@ def test_server_resume_multi_servers(self):
12131213 self .run_method_with_servers ('resume' , 3 )
12141214
12151215
1216+ class TestServerSet (TestServer ):
1217+
1218+ def setUp (self ):
1219+ super (TestServerSet , self ).setUp ()
1220+
1221+ self .methods = {
1222+ 'update' : None ,
1223+ 'reset_state' : None ,
1224+ 'change_password' : None ,
1225+ }
1226+
1227+ self .fake_servers = self .setup_servers_mock (2 )
1228+
1229+ # Get the command object to test
1230+ self .cmd = server .SetServer (self .app , None )
1231+
1232+ def test_server_set_no_option (self ):
1233+ arglist = [
1234+ 'foo_vm'
1235+ ]
1236+ verifylist = [
1237+ ('server' , 'foo_vm' )
1238+ ]
1239+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1240+ result = self .cmd .take_action (parsed_args )
1241+ self .assertNotCalled (self .fake_servers [0 ].update )
1242+ self .assertNotCalled (self .fake_servers [0 ].reset_state )
1243+ self .assertNotCalled (self .fake_servers [0 ].change_password )
1244+ self .assertNotCalled (self .servers_mock .set_meta )
1245+ self .assertIsNone (result )
1246+
1247+ def test_server_set_with_state (self ):
1248+ for index , state in enumerate (['active' , 'error' ]):
1249+ arglist = [
1250+ '--state' , state ,
1251+ 'foo_vm' ,
1252+ ]
1253+ verifylist = [
1254+ ('state' , state ),
1255+ ('server' , 'foo_vm' ),
1256+ ]
1257+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
1258+ result = self .cmd .take_action (parsed_args )
1259+ self .fake_servers [index ].reset_state .assert_called_once_with (
1260+ state = state )
1261+ self .assertIsNone (result )
1262+
1263+ def test_server_set_with_invalid_state (self ):
1264+ arglist = [
1265+ '--state' , 'foo_state' ,
1266+ 'foo_vm' ,
1267+ ]
1268+ verifylist = [
1269+ ('state' , 'foo_state' ),
1270+ ('server' , 'foo_vm' ),
1271+ ]
1272+ self .assertRaises (utils .ParserException ,
1273+ self .check_parser ,
1274+ self .cmd , arglist , verifylist )
1275+
1276+
12161277class TestServerShelve (TestServer ):
12171278
12181279 def setUp (self ):
0 commit comments