Skip to content

Commit 56680c8

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Add unit tests for "server show" command"
2 parents b60ff95 + 06780dd commit 56680c8

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

openstackclient/tests/compute/v2/test_server.py

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1233,6 +1233,101 @@ def test_shelve_multi_servers(self):
12331233
self.run_method_with_servers('shelve', 3)
12341234

12351235

1236+
class TestServerShow(TestServer):
1237+
1238+
def setUp(self):
1239+
super(TestServerShow, self).setUp()
1240+
1241+
self.image = image_fakes.FakeImage.create_one_image()
1242+
self.flavor = compute_fakes.FakeFlavor.create_one_flavor()
1243+
server_info = {
1244+
'image': {'id': self.image.id},
1245+
'flavor': {'id': self.flavor.id},
1246+
'tenant_id': 'tenant-id-xxx',
1247+
'networks': {'public': ['10.20.30.40', '2001:db8::f']},
1248+
}
1249+
# Fake the server.diagnostics() method. The return value contains http
1250+
# response and data. The data is a dict. Sincce this method itself is
1251+
# faked, we don't need to fake everything of the return value exactly.
1252+
resp = mock.Mock()
1253+
resp.status_code = 200
1254+
server_method = {
1255+
'diagnostics': (resp, {'test': 'test'}),
1256+
}
1257+
self.server = compute_fakes.FakeServer.create_one_server(
1258+
attrs=server_info, methods=server_method)
1259+
1260+
# This is the return value for utils.find_resource()
1261+
self.servers_mock.get.return_value = self.server
1262+
self.cimages_mock.get.return_value = self.image
1263+
self.flavors_mock.get.return_value = self.flavor
1264+
1265+
# Get the command object to test
1266+
self.cmd = server.ShowServer(self.app, None)
1267+
1268+
self.columns = (
1269+
'OS-EXT-STS:power_state',
1270+
'addresses',
1271+
'flavor',
1272+
'id',
1273+
'image',
1274+
'name',
1275+
'networks',
1276+
'project_id',
1277+
'properties',
1278+
)
1279+
1280+
self.data = (
1281+
'Running',
1282+
'public=10.20.30.40, 2001:db8::f',
1283+
self.flavor.name + " (" + self.flavor.id + ")",
1284+
self.server.id,
1285+
self.image.name + " (" + self.image.id + ")",
1286+
self.server.name,
1287+
{'public': ['10.20.30.40', '2001:db8::f']},
1288+
'tenant-id-xxx',
1289+
'',
1290+
)
1291+
1292+
def test_show_no_options(self):
1293+
arglist = []
1294+
verifylist = []
1295+
1296+
self.assertRaises(utils.ParserException, self.check_parser,
1297+
self.cmd, arglist, verifylist)
1298+
1299+
def test_show(self):
1300+
arglist = [
1301+
self.server.name,
1302+
]
1303+
verifylist = [
1304+
('diagnostics', False),
1305+
('server', self.server.name),
1306+
]
1307+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1308+
1309+
columns, data = self.cmd.take_action(parsed_args)
1310+
1311+
self.assertEqual(self.columns, columns)
1312+
self.assertEqual(self.data, data)
1313+
1314+
def test_show_diagnostics(self):
1315+
arglist = [
1316+
'--diagnostics',
1317+
self.server.name,
1318+
]
1319+
verifylist = [
1320+
('diagnostics', True),
1321+
('server', self.server.name),
1322+
]
1323+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1324+
1325+
columns, data = self.cmd.take_action(parsed_args)
1326+
1327+
self.assertEqual(('test',), columns)
1328+
self.assertEqual(('test',), data)
1329+
1330+
12361331
class TestServerStart(TestServer):
12371332

12381333
def setUp(self):

0 commit comments

Comments
 (0)