@@ -766,3 +766,57 @@ def test_get_ip_address(self):
766766 server ._get_ip_address , self .OLD , 'public' , [4 , 6 ])
767767 self .assertRaises (exceptions .CommandError ,
768768 server ._get_ip_address , self .OLD , 'private' , [6 ])
769+
770+
771+ class TestShelveServer (TestServer ):
772+
773+ def setUp (self ):
774+ super (TestShelveServer , self ).setUp ()
775+
776+ # Get the command object to test
777+ self .cmd = server .ShelveServer (self .app , None )
778+
779+ # Set shelve method to be tested.
780+ self .methods = {
781+ 'shelve' : None ,
782+ }
783+
784+ def setup_servers_mock (self , count = 1 ):
785+ servers = fakes .FakeServer .create_servers (methods = self .methods ,
786+ count = count )
787+
788+ self .servers_mock .get = fakes .FakeServer .get_servers (servers , 1 )
789+
790+ return servers
791+
792+ def test_shelve_one_server (self ):
793+ server = self .setup_servers_mock (1 )[0 ]
794+
795+ arglist = [
796+ server .id ,
797+ ]
798+ verifylist = [
799+ ('server' , [server .id ]),
800+ ]
801+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
802+
803+ self .cmd .take_action (parsed_args )
804+
805+ server .shelve .assert_called_with ()
806+
807+ def test_shelve_multi_servers (self ):
808+ servers = self .setup_servers_mock (3 )
809+ arglist = []
810+ verifylist = []
811+
812+ for i in range (0 , len (servers )):
813+ arglist .append (servers [i ].id )
814+ verifylist = [
815+ ('server' , arglist ),
816+ ]
817+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
818+
819+ self .cmd .take_action (parsed_args )
820+
821+ for i in range (0 , len (servers )):
822+ servers [i ].shelve .assert_called_with ()
0 commit comments