Merge "Compare subnet length as well when deleting DHCP entry"
This commit is contained in:
@@ -212,7 +212,8 @@ class MidoClient:
|
||||
raise MidonetApiException(
|
||||
msg=_("Tried to delete non-existent DHCP"))
|
||||
for dhcp in dhcp_subnets:
|
||||
if dhcp.get_subnet_prefix() == net_addr:
|
||||
if (dhcp.get_subnet_prefix() == net_addr and
|
||||
dhcp.get_subnet_length() == str(net_len)):
|
||||
dhcp.delete()
|
||||
break
|
||||
|
||||
|
||||
@@ -92,14 +92,18 @@ class MidoClientTestCase(testtools.TestCase):
|
||||
def test_delete_dhcp(self):
|
||||
|
||||
bridge = mock.Mock()
|
||||
subnet = mock.Mock()
|
||||
subnet.get_subnet_prefix.return_value = "10.0.0.0"
|
||||
subnets = mock.MagicMock(return_value=[subnet])
|
||||
subnet1 = mock.Mock()
|
||||
subnet1.get_subnet_prefix.return_value = "10.0.0.0"
|
||||
subnet1.get_subnet_length.return_value = "16"
|
||||
subnet2 = mock.Mock()
|
||||
subnet2.get_subnet_prefix.return_value = "10.0.0.0"
|
||||
subnet2.get_subnet_length.return_value = "24"
|
||||
subnets = mock.MagicMock(return_value=[subnet1, subnet2])
|
||||
bridge.get_dhcp_subnets.side_effect = subnets
|
||||
self.client.delete_dhcp(bridge, "10.0.0.0/24")
|
||||
bridge.assert_has_calls(mock.call.get_dhcp_subnets)
|
||||
subnet.assert_has_calls([mock.call.get_subnet_prefix(),
|
||||
mock.call.delete()])
|
||||
self.assertFalse(subnet1.delete.called)
|
||||
subnet2.delete.assert_called_once_with()
|
||||
|
||||
def test_add_dhcp_host(self):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user