Mock ipv6_utils.is_enabled_and_bind_by_default method
We test DHCP agent DeviceManager without mocking method ipv6_utils.is_enabled_and_bind_by_default(). Because of that it fails all the time on hosts without IPv6 support. This patch adds mock to prevent those failures. Change-Id: Icb4854892839a20619e92852c8b1a317d71231da Closes-Bug: #1747437
This commit is contained in:

committed by
Maciej Jozefczyk

parent
c7e144e9b4
commit
9bef065bd0
@@ -1463,7 +1463,13 @@ class TestDeviceManager(base.BaseTestCase):
|
||||
"IPWrapper")
|
||||
self.mock_ip_wrapper = self.mock_ip_wrapper_p.start()
|
||||
|
||||
def _test_setup_helper(self, device_is_ready, net=None, port=None):
|
||||
self.mock_ipv6_enabled_p = mock.patch('neutron.common.ipv6_utils.'
|
||||
'is_enabled_and_bind_by_default')
|
||||
self.mock_ipv6_enabled = self.mock_ipv6_enabled_p.start()
|
||||
self.mock_ipv6_enabled.return_value = True
|
||||
|
||||
def _test_setup_helper(self, device_is_ready, ipv6_enabled=True,
|
||||
net=None, port=None):
|
||||
net = net or fake_network
|
||||
port = port or fake_port1
|
||||
plugin = mock.Mock()
|
||||
@@ -1491,24 +1497,26 @@ class TestDeviceManager(base.BaseTestCase):
|
||||
'169.254.169.254/16']
|
||||
else:
|
||||
expected_ips = ['172.9.9.9/24', '169.254.169.254/16']
|
||||
expected = [
|
||||
mock.call.get_device_name(port),
|
||||
mock.call.configure_ipv6_ra(net.namespace, 'default', 0),
|
||||
mock.call.init_l3(
|
||||
'tap12345678-12',
|
||||
expected_ips,
|
||||
namespace=net.namespace)]
|
||||
|
||||
expected = [mock.call.get_device_name(port)]
|
||||
|
||||
if ipv6_enabled:
|
||||
expected.append(
|
||||
mock.call.configure_ipv6_ra(net.namespace, 'default', 0))
|
||||
|
||||
if not device_is_ready:
|
||||
expected.insert(2,
|
||||
mock.call.plug(net.id,
|
||||
expected.append(mock.call.plug(net.id,
|
||||
port.id,
|
||||
'tap12345678-12',
|
||||
'aa:bb:cc:dd:ee:ff',
|
||||
namespace=net.namespace,
|
||||
mtu=None))
|
||||
self.mock_driver.assert_has_calls(expected)
|
||||
expected.append(mock.call.init_l3(
|
||||
'tap12345678-12',
|
||||
expected_ips,
|
||||
namespace=net.namespace))
|
||||
|
||||
self.mock_driver.assert_has_calls(expected)
|
||||
dh._set_default_route.assert_called_once_with(net, 'tap12345678-12')
|
||||
|
||||
def test_setup(self):
|
||||
@@ -1517,6 +1525,12 @@ class TestDeviceManager(base.BaseTestCase):
|
||||
cfg.CONF.set_override('enable_metadata_network', True)
|
||||
self._test_setup_helper(False)
|
||||
|
||||
def test_setup_without_ipv6_enabled(self):
|
||||
# NOTE(mjozefcz): This test checks if IPv6 RA is *not*
|
||||
# configured when host doesn't support IPv6.
|
||||
self.mock_ipv6_enabled.return_value = False
|
||||
self._test_setup_helper(False, ipv6_enabled=False)
|
||||
|
||||
def test_setup_calls_fill_dhcp_udp_checksums(self):
|
||||
self._test_setup_helper(False)
|
||||
rule = ('-p udp -m udp --dport %d -j CHECKSUM --checksum-fill'
|
||||
|
Reference in New Issue
Block a user