88 :copyright: (c) 2013, SoftLayer Technologies, Inc. All rights reserved.
99 :license: MIT, see LICENSE for more details.
1010"""
11- from SoftLayer .tests import unittest
12- from mock import Mock , MagicMock , patch
11+ from SoftLayer .tests import unittest , FixtureClient
12+ from mock import Mock , patch
1313try :
1414 # Python 3.x compatibility
1515 import builtins # NOQA
1919
2020from SoftLayer .CLI .helpers import format_output , CLIAbort , ArgumentError
2121from SoftLayer .CLI .modules import server
22- from SoftLayer .tests .mocks import (
23- account_mock , hardware_mock , product_package_mock )
2422
2523
2624class ServerCLITests (unittest .TestCase ):
2725 def setUp (self ):
28- self .client = MagicMock ()
26+ self .client = FixtureClient ()
2927
3028 def test_ServerCancelReasons (self ):
3129 runnable = server .ServerCancelReasons (client = self .client )
@@ -68,31 +66,31 @@ def test_ServerCreateOptions(self):
6866 '--controller' : False ,
6967 }
7068
71- client = self ._setup_package_mocks (self .client )
72- runnable = server .ServerCreateOptions (client = client )
69+ runnable = server .ServerCreateOptions (client = self .client )
7370
7471 output = runnable .execute (args )
7572
7673 expected = {
77- 'datacenter' : ['RANDOM_LOCATION' ],
78- 'dual nic' : ['100_DUAL' , '10_DUAL' ],
79- 'disk_controllers' : ['None' , 'RAID0' ],
80- 'os (CENTOS)' : ['CENTOS_6_64' ],
81- 'os (DEBIAN)' : ['DEBIAN_6_32' ],
82- 'os (REDHAT)' : ['REDHAT_6_64_6' ],
83- 'os (UBUNTU)' : ['UBUNTU_12_64' , 'UBUNTU_12_64_MINIMAL' ],
84- 'os (WIN)' : ['WIN_2003-STD-R2_64' , 'WIN_2008-DC-HYPERV_64' ,
85- 'WIN_2008-ENT_64' , 'WIN_2008-STD_64' ],
86- 'memory' : [4 , 6 ],
87- 'disk' : ['1000_DRIVE' ],
88- 'single nic' : ['100' , '1000' ],
8974 'cpu' : [
9075 {'description' : 'Dual Quad Core Pancake 200 - 1.60GHz' ,
9176 'id' : 723 },
9277 {'description' : 'Dual Quad Core Pancake 200 - 1.80GHz' ,
93- 'id' : 724 }
94- ],
95- }
78+ 'id' : 724 }],
79+ 'datacenter' : ['RANDOM_LOCATION' ],
80+ 'disk' : ['250_SATA_II' , '500_SATA_II' ],
81+ 'disk_controllers' : ['None' , 'RAID0' ],
82+ 'dual nic' : ['1000_DUAL' , '100_DUAL' , '10_DUAL' ],
83+ 'memory' : [4 , 6 ],
84+ 'os (CENTOS)' : ['CENTOS_6_64_LAMP' , 'CENTOS_6_64_MINIMAL' ],
85+ 'os (REDHAT)' : ['REDHAT_6_64_LAMP' , 'REDHAT_6_64_MINIMAL' ],
86+ 'os (UBUNTU)' : ['UBUNTU_12_64_LAMP' , 'UBUNTU_12_64_MINIMAL' ],
87+ 'os (WIN)' : [
88+ 'WIN_2008-DC_64' ,
89+ 'WIN_2008-ENT_64' ,
90+ 'WIN_2008-STD-R2_64' ,
91+ 'WIN_2008-STD_64' ,
92+ 'WIN_2012-DC-HYPERV_64' ],
93+ 'single nic' : ['100' , '1000' ]}
9694
9795 self .assertEqual (expected , format_output (output , 'python' ))
9896
@@ -109,8 +107,7 @@ def test_ServerCreateOptions_with_cpu_only(self):
109107 '--controller' : False ,
110108 }
111109
112- client = self ._setup_package_mocks (self .client )
113- runnable = server .ServerCreateOptions (client = client )
110+ runnable = server .ServerCreateOptions (client = self .client )
114111
115112 output = runnable .execute (args )
116113
@@ -128,13 +125,7 @@ def test_ServerCreateOptions_with_cpu_only(self):
128125 def test_ServerDetails (self ):
129126 hw_id = 1234
130127
131- client = Mock ()
132- client .__getitem__ = Mock ()
133- service = client ['Hardware_Server' ]
134- service .getObject = hardware_mock .getObject_Mock (1000 )
135- dns_mock = hardware_mock .getReverseDomainRecords_Mock (1000 )
136- service .getReverseDomainRecords = dns_mock
137- runnable = server .ServerDetails (client = client )
128+ runnable = server .ServerDetails (client = self .client )
138129
139130 args = {'<identifier>' : hw_id , '--passwords' : True , '--price' : True }
140131 output = runnable .execute (args )
@@ -163,7 +154,6 @@ def test_ServerDetails(self):
163154 self .assertEqual (expected , format_output (output , 'python' ))
164155
165156 def test_ListServers (self ):
166- self .client ['Account' ].getHardware = account_mock .getHardware_Mock ()
167157 runnable = server .ListServers (client = self .client )
168158
169159 output = runnable .execute ({'--tags' : 'openstack' })
@@ -375,7 +365,7 @@ def test_CreateServer(self):
375365 '--datacenter' : 'TEST00' ,
376366 '--cpu' : False ,
377367 '--network' : '100' ,
378- '--disk' : ['1000_DRIVE ' , '1000_DRIVE ' ],
368+ '--disk' : ['250_SATA_II ' , '250_SATA_II ' ],
379369 '--os' : 'UBUNTU_12_64_MINIMAL' ,
380370 '--memory' : False ,
381371 '--controller' : False ,
@@ -387,8 +377,7 @@ def test_CreateServer(self):
387377 '--vlan_private' : 20468 ,
388378 }
389379
390- client = self ._setup_package_mocks (self .client )
391- runnable = server .CreateServer (client = client )
380+ runnable = server .CreateServer (client = self .client )
392381
393382 # First, test the --test flag
394383 with patch ('SoftLayer.HardwareManager.verify_order' ) as verify_mock :
@@ -466,7 +455,6 @@ def test_CreateServer(self):
466455 self .assertRaises (CLIAbort , runnable .execute , args )
467456
468457 def test_CreateServer_failures (self ):
469- client = self ._setup_package_mocks (self .client )
470458
471459 # This is missing a required argument
472460 args = {
@@ -483,7 +471,7 @@ def test_CreateServer_failures(self):
483471 '--template' : None ,
484472 }
485473
486- runnable = server .CreateServer (client = client )
474+ runnable = server .CreateServer (client = self . client )
487475
488476 # Verify that ArgumentError is properly raised on error
489477 self .assertRaises (ArgumentError , runnable .execute , args )
@@ -521,8 +509,7 @@ def test_CreateServer_with_export(self, export_to_template):
521509 '--export' : 'test_file.txt' ,
522510 }
523511
524- client = self ._setup_package_mocks (self .client )
525- runnable = server .CreateServer (client = client )
512+ runnable = server .CreateServer (client = self .client )
526513
527514 expected = args .copy ()
528515 del (expected ['--export' ])
@@ -605,12 +592,3 @@ def test_get_default_value_returns_none_for_unknown_category(self):
605592 runnable = server .CreateServer ()
606593 output = runnable ._get_default_value (option_mock , 'nope' )
607594 self .assertEqual (None , output )
608-
609- def _setup_package_mocks (self , client ):
610- package = client ['Product_Package' ]
611- package .getAllObjects = product_package_mock .getAllObjects_Mock ()
612- package .getConfiguration = product_package_mock .getConfiguration_Mock ()
613- package .getCategories = product_package_mock .getCategories_Mock ()
614- package .getRegions = product_package_mock .getRegions_Mock ()
615-
616- return client
0 commit comments