Skip to content

Commit 6f473be

Browse files
author
Dean Troyer
committed
Split network tests
Split up the network unit tests between compute and network APIs into separate files in preparation for reworking the compute (nova-net) implementations to deal with the removal of deprecated nova-net support in novaclient 8.0.0. No code changes are intended here, just splitting two files into four. Change-Id: I2d001118af436f95025d2851341f8ca802e78830
1 parent b0ce957 commit 6f473be

2 files changed

Lines changed: 392 additions & 372 deletions

File tree

openstackclient/tests/unit/network/v2/test_network.py

Lines changed: 0 additions & 372 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
from osc_lib import utils
2020

2121
from openstackclient.network.v2 import network
22-
from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
2322
from openstackclient.tests.unit import fakes
2423
from openstackclient.tests.unit.identity.v2_0 import fakes as identity_fakes_v2
2524
from openstackclient.tests.unit.identity.v3 import fakes as identity_fakes_v3
@@ -988,374 +987,3 @@ def test_show_all_options(self):
988987

989988
self.assertEqual(self.columns, columns)
990989
self.assertEqual(self.data, data)
991-
992-
993-
# Tests for Nova network
994-
#
995-
class TestNetworkCompute(compute_fakes.TestComputev2):
996-
997-
def setUp(self):
998-
super(TestNetworkCompute, self).setUp()
999-
1000-
# Get a shortcut to the compute client
1001-
self.compute = self.app.client_manager.compute
1002-
1003-
1004-
class TestCreateNetworkCompute(TestNetworkCompute):
1005-
1006-
# The network to create.
1007-
_network = compute_fakes.FakeNetwork.create_one_network()
1008-
1009-
columns = (
1010-
'bridge',
1011-
'bridge_interface',
1012-
'broadcast',
1013-
'cidr',
1014-
'cidr_v6',
1015-
'created_at',
1016-
'deleted',
1017-
'deleted_at',
1018-
'dhcp_server',
1019-
'dhcp_start',
1020-
'dns1',
1021-
'dns2',
1022-
'enable_dhcp',
1023-
'gateway',
1024-
'gateway_v6',
1025-
'host',
1026-
'id',
1027-
'injected',
1028-
'label',
1029-
'mtu',
1030-
'multi_host',
1031-
'netmask',
1032-
'netmask_v6',
1033-
'priority',
1034-
'project_id',
1035-
'rxtx_base',
1036-
'share_address',
1037-
'updated_at',
1038-
'vlan',
1039-
'vpn_private_address',
1040-
'vpn_public_address',
1041-
'vpn_public_port',
1042-
)
1043-
1044-
data = (
1045-
_network.bridge,
1046-
_network.bridge_interface,
1047-
_network.broadcast,
1048-
_network.cidr,
1049-
_network.cidr_v6,
1050-
_network.created_at,
1051-
_network.deleted,
1052-
_network.deleted_at,
1053-
_network.dhcp_server,
1054-
_network.dhcp_start,
1055-
_network.dns1,
1056-
_network.dns2,
1057-
_network.enable_dhcp,
1058-
_network.gateway,
1059-
_network.gateway_v6,
1060-
_network.host,
1061-
_network.id,
1062-
_network.injected,
1063-
_network.label,
1064-
_network.mtu,
1065-
_network.multi_host,
1066-
_network.netmask,
1067-
_network.netmask_v6,
1068-
_network.priority,
1069-
_network.project_id,
1070-
_network.rxtx_base,
1071-
_network.share_address,
1072-
_network.updated_at,
1073-
_network.vlan,
1074-
_network.vpn_private_address,
1075-
_network.vpn_public_address,
1076-
_network.vpn_public_port,
1077-
)
1078-
1079-
def setUp(self):
1080-
super(TestCreateNetworkCompute, self).setUp()
1081-
1082-
self.app.client_manager.network_endpoint_enabled = False
1083-
1084-
self.compute.networks.create.return_value = self._network
1085-
1086-
# Get the command object to test
1087-
self.cmd = network.CreateNetwork(self.app, None)
1088-
1089-
def test_create_no_options(self):
1090-
arglist = []
1091-
verifylist = []
1092-
1093-
# Missing required args should raise exception here
1094-
self.assertRaises(tests_utils.ParserException, self.check_parser,
1095-
self.cmd, arglist, verifylist)
1096-
1097-
def test_create_default_options(self):
1098-
arglist = [
1099-
"--subnet", self._network.cidr,
1100-
self._network.label,
1101-
]
1102-
verifylist = [
1103-
('subnet', self._network.cidr),
1104-
('name', self._network.label),
1105-
]
1106-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1107-
1108-
columns, data = self.cmd.take_action(parsed_args)
1109-
1110-
self.compute.networks.create.assert_called_once_with(**{
1111-
'cidr': self._network.cidr,
1112-
'label': self._network.label,
1113-
})
1114-
self.assertEqual(self.columns, columns)
1115-
self.assertEqual(self.data, data)
1116-
1117-
1118-
class TestDeleteNetworkCompute(TestNetworkCompute):
1119-
1120-
def setUp(self):
1121-
super(TestDeleteNetworkCompute, self).setUp()
1122-
1123-
self.app.client_manager.network_endpoint_enabled = False
1124-
1125-
# The networks to delete
1126-
self._networks = compute_fakes.FakeNetwork.create_networks(count=3)
1127-
1128-
self.compute.networks.delete.return_value = None
1129-
1130-
# Return value of utils.find_resource()
1131-
self.compute.networks.get = \
1132-
compute_fakes.FakeNetwork.get_networks(networks=self._networks)
1133-
1134-
# Get the command object to test
1135-
self.cmd = network.DeleteNetwork(self.app, None)
1136-
1137-
def test_delete_one_network(self):
1138-
arglist = [
1139-
self._networks[0].label,
1140-
]
1141-
verifylist = [
1142-
('network', [self._networks[0].label]),
1143-
]
1144-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1145-
1146-
result = self.cmd.take_action(parsed_args)
1147-
1148-
self.compute.networks.delete.assert_called_once_with(
1149-
self._networks[0].id)
1150-
self.assertIsNone(result)
1151-
1152-
def test_delete_multiple_networks(self):
1153-
arglist = []
1154-
for n in self._networks:
1155-
arglist.append(n.label)
1156-
verifylist = [
1157-
('network', arglist),
1158-
]
1159-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1160-
1161-
result = self.cmd.take_action(parsed_args)
1162-
1163-
calls = []
1164-
for n in self._networks:
1165-
calls.append(call(n.id))
1166-
self.compute.networks.delete.assert_has_calls(calls)
1167-
self.assertIsNone(result)
1168-
1169-
def test_delete_multiple_networks_exception(self):
1170-
arglist = [
1171-
self._networks[0].id,
1172-
'xxxx-yyyy-zzzz',
1173-
self._networks[1].id,
1174-
]
1175-
verifylist = [
1176-
('network', arglist),
1177-
]
1178-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1179-
1180-
# Fake exception in utils.find_resource()
1181-
# In compute v2, we use utils.find_resource() to find a network.
1182-
# It calls get() several times, but find() only one time. So we
1183-
# choose to fake get() always raise exception, then pass through.
1184-
# And fake find() to find the real network or not.
1185-
self.compute.networks.get.side_effect = Exception()
1186-
ret_find = [
1187-
self._networks[0],
1188-
Exception(),
1189-
self._networks[1],
1190-
]
1191-
self.compute.networks.find.side_effect = ret_find
1192-
1193-
# Fake exception in delete()
1194-
ret_delete = [
1195-
None,
1196-
Exception(),
1197-
]
1198-
self.compute.networks.delete = mock.Mock(side_effect=ret_delete)
1199-
1200-
self.assertRaises(exceptions.CommandError, self.cmd.take_action,
1201-
parsed_args)
1202-
1203-
# The second call of utils.find_resource() should fail. So delete()
1204-
# was only called twice.
1205-
calls = [
1206-
call(self._networks[0].id),
1207-
call(self._networks[1].id),
1208-
]
1209-
self.compute.networks.delete.assert_has_calls(calls)
1210-
1211-
1212-
class TestListNetworkCompute(TestNetworkCompute):
1213-
1214-
# The networks going to be listed up.
1215-
_networks = compute_fakes.FakeNetwork.create_networks(count=3)
1216-
1217-
columns = (
1218-
'ID',
1219-
'Name',
1220-
'Subnet',
1221-
)
1222-
1223-
data = []
1224-
for net in _networks:
1225-
data.append((
1226-
net.id,
1227-
net.label,
1228-
net.cidr,
1229-
))
1230-
1231-
def setUp(self):
1232-
super(TestListNetworkCompute, self).setUp()
1233-
1234-
self.app.client_manager.network_endpoint_enabled = False
1235-
1236-
self.compute.networks.list.return_value = self._networks
1237-
1238-
# Get the command object to test
1239-
self.cmd = network.ListNetwork(self.app, None)
1240-
1241-
def test_network_list_no_options(self):
1242-
arglist = []
1243-
verifylist = []
1244-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1245-
1246-
# In base command class Lister in cliff, abstract method take_action()
1247-
# returns a tuple containing the column names and an iterable
1248-
# containing the data to be listed.
1249-
columns, data = self.cmd.take_action(parsed_args)
1250-
1251-
self.compute.networks.list.assert_called_once_with()
1252-
self.assertEqual(self.columns, columns)
1253-
self.assertEqual(self.data, list(data))
1254-
1255-
1256-
class TestShowNetworkCompute(TestNetworkCompute):
1257-
1258-
# The network to show.
1259-
_network = compute_fakes.FakeNetwork.create_one_network()
1260-
1261-
columns = (
1262-
'bridge',
1263-
'bridge_interface',
1264-
'broadcast',
1265-
'cidr',
1266-
'cidr_v6',
1267-
'created_at',
1268-
'deleted',
1269-
'deleted_at',
1270-
'dhcp_server',
1271-
'dhcp_start',
1272-
'dns1',
1273-
'dns2',
1274-
'enable_dhcp',
1275-
'gateway',
1276-
'gateway_v6',
1277-
'host',
1278-
'id',
1279-
'injected',
1280-
'label',
1281-
'mtu',
1282-
'multi_host',
1283-
'netmask',
1284-
'netmask_v6',
1285-
'priority',
1286-
'project_id',
1287-
'rxtx_base',
1288-
'share_address',
1289-
'updated_at',
1290-
'vlan',
1291-
'vpn_private_address',
1292-
'vpn_public_address',
1293-
'vpn_public_port',
1294-
)
1295-
1296-
data = (
1297-
_network.bridge,
1298-
_network.bridge_interface,
1299-
_network.broadcast,
1300-
_network.cidr,
1301-
_network.cidr_v6,
1302-
_network.created_at,
1303-
_network.deleted,
1304-
_network.deleted_at,
1305-
_network.dhcp_server,
1306-
_network.dhcp_start,
1307-
_network.dns1,
1308-
_network.dns2,
1309-
_network.enable_dhcp,
1310-
_network.gateway,
1311-
_network.gateway_v6,
1312-
_network.host,
1313-
_network.id,
1314-
_network.injected,
1315-
_network.label,
1316-
_network.mtu,
1317-
_network.multi_host,
1318-
_network.netmask,
1319-
_network.netmask_v6,
1320-
_network.priority,
1321-
_network.project_id,
1322-
_network.rxtx_base,
1323-
_network.share_address,
1324-
_network.updated_at,
1325-
_network.vlan,
1326-
_network.vpn_private_address,
1327-
_network.vpn_public_address,
1328-
_network.vpn_public_port,
1329-
)
1330-
1331-
def setUp(self):
1332-
super(TestShowNetworkCompute, self).setUp()
1333-
1334-
self.app.client_manager.network_endpoint_enabled = False
1335-
1336-
# Return value of utils.find_resource()
1337-
self.compute.networks.get.return_value = self._network
1338-
1339-
# Get the command object to test
1340-
self.cmd = network.ShowNetwork(self.app, None)
1341-
1342-
def test_show_no_options(self):
1343-
arglist = []
1344-
verifylist = []
1345-
1346-
self.assertRaises(tests_utils.ParserException, self.check_parser,
1347-
self.cmd, arglist, verifylist)
1348-
1349-
def test_show_all_options(self):
1350-
arglist = [
1351-
self._network.label,
1352-
]
1353-
verifylist = [
1354-
('network', self._network.label),
1355-
]
1356-
1357-
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
1358-
columns, data = self.cmd.take_action(parsed_args)
1359-
1360-
self.assertEqual(self.columns, columns)
1361-
self.assertEqual(self.data, data)

0 commit comments

Comments
 (0)