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