Document self.assertEqual(expected, observed) pattern
Tests should use the following pattern to help reviewers: self.assertEqual(expected, observed) This change documents it in effective_neutron.rst and corrects some test modules[1] including nonobvious ones[2] as an example. [1] neutron.tests.unit.agent.l3.test_.* [2] neutron.tests.unit.agent.l3.test_router_processing_queue Change-Id: I6d6363541e3fef6f66e808aab00507825205b209
This commit is contained in:
parent
49746ca474
commit
2429dd917f
@ -100,6 +100,10 @@ For anything more elaborate, please visit the testing section.
|
|||||||
self.assertTrue(3 in [1, 2])
|
self.assertTrue(3 in [1, 2])
|
||||||
# raise meaningless error: "AssertionError: False is not true"
|
# raise meaningless error: "AssertionError: False is not true"
|
||||||
|
|
||||||
|
* Use the pattern "self.assertEqual(expected, observed)" not the opposite, it helps
|
||||||
|
reviewers to understand which one is the expected/observed value in non-trivial
|
||||||
|
assertions.
|
||||||
|
|
||||||
Backward compatibility
|
Backward compatibility
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
@ -262,7 +262,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
'gw_port': ex_gw_port}
|
'gw_port': ex_gw_port}
|
||||||
ri = l3router.RouterInfo(ns_id, router, **self.ri_kwargs)
|
ri = l3router.RouterInfo(ns_id, router, **self.ri_kwargs)
|
||||||
self.assertTrue(ri.ns_name.endswith(ns_id))
|
self.assertTrue(ri.ns_name.endswith(ns_id))
|
||||||
self.assertEqual(ri.router, router)
|
self.assertEqual(router, ri.router)
|
||||||
|
|
||||||
def test_agent_create(self):
|
def test_agent_create(self):
|
||||||
l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -283,15 +283,15 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
if action == 'add':
|
if action == 'add':
|
||||||
self.device_exists.return_value = False
|
self.device_exists.return_value = False
|
||||||
ri.internal_network_added(port)
|
ri.internal_network_added(port)
|
||||||
self.assertEqual(self.mock_driver.plug.call_count, 1)
|
self.assertEqual(1, self.mock_driver.plug.call_count)
|
||||||
self.assertEqual(self.mock_driver.init_router_port.call_count, 1)
|
self.assertEqual(1, self.mock_driver.init_router_port.call_count)
|
||||||
self.send_adv_notif.assert_called_once_with(ri.ns_name,
|
self.send_adv_notif.assert_called_once_with(ri.ns_name,
|
||||||
interface_name,
|
interface_name,
|
||||||
'99.0.1.9', mock.ANY)
|
'99.0.1.9', mock.ANY)
|
||||||
elif action == 'remove':
|
elif action == 'remove':
|
||||||
self.device_exists.return_value = True
|
self.device_exists.return_value = True
|
||||||
ri.internal_network_removed(port)
|
ri.internal_network_removed(port)
|
||||||
self.assertEqual(self.mock_driver.unplug.call_count, 1)
|
self.assertEqual(1, self.mock_driver.unplug.call_count)
|
||||||
else:
|
else:
|
||||||
raise Exception("Invalid action %s" % action)
|
raise Exception("Invalid action %s" % action)
|
||||||
|
|
||||||
@ -347,8 +347,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri._internal_network_added = mock.Mock()
|
ri._internal_network_added = mock.Mock()
|
||||||
ri._set_subnet_arp_info = mock.Mock()
|
ri._set_subnet_arp_info = mock.Mock()
|
||||||
ri.internal_network_added(port)
|
ri.internal_network_added(port)
|
||||||
self.assertEqual(ri._snat_redirect_add.call_count, 1)
|
self.assertEqual(1, ri._snat_redirect_add.call_count)
|
||||||
self.assertEqual(ri._internal_network_added.call_count, 2)
|
self.assertEqual(2, ri._internal_network_added.call_count)
|
||||||
ri._set_subnet_arp_info.assert_called_once_with(subnet_id)
|
ri._set_subnet_arp_info.assert_called_once_with(subnet_id)
|
||||||
ri._internal_network_added.assert_called_with(
|
ri._internal_network_added.assert_called_with(
|
||||||
dvr_snat_ns.SnatNamespace.get_snat_ns_name(ri.router['id']),
|
dvr_snat_ns.SnatNamespace.get_snat_ns_name(ri.router['id']),
|
||||||
@ -397,10 +397,10 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
router[l3_constants.FLOATINGIP_KEY] = fake_fip['floatingips']
|
router[l3_constants.FLOATINGIP_KEY] = fake_fip['floatingips']
|
||||||
ri.external_gateway_added(ex_gw_port, interface_name)
|
ri.external_gateway_added(ex_gw_port, interface_name)
|
||||||
if not router.get('distributed'):
|
if not router.get('distributed'):
|
||||||
self.assertEqual(self.mock_driver.plug.call_count, 1)
|
self.assertEqual(1, self.mock_driver.plug.call_count)
|
||||||
self.assertEqual(self.mock_driver.init_router_port.call_count, 1)
|
self.assertEqual(1, self.mock_driver.init_router_port.call_count)
|
||||||
if no_subnet and not dual_stack:
|
if no_subnet and not dual_stack:
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 0)
|
self.assertEqual(0, self.send_adv_notif.call_count)
|
||||||
ip_cidrs = []
|
ip_cidrs = []
|
||||||
gateway_ips = []
|
gateway_ips = []
|
||||||
if no_sub_gw:
|
if no_sub_gw:
|
||||||
@ -556,7 +556,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
router[l3_constants.FLOATINGIP_KEY] = fake_fip['floatingips']
|
router[l3_constants.FLOATINGIP_KEY] = fake_fip['floatingips']
|
||||||
ri.external_gateway_updated(ex_gw_port, interface_name)
|
ri.external_gateway_updated(ex_gw_port, interface_name)
|
||||||
self.assertEqual(1, self.mock_driver.plug.call_count)
|
self.assertEqual(1, self.mock_driver.plug.call_count)
|
||||||
self.assertEqual(self.mock_driver.init_router_port.call_count, 1)
|
self.assertEqual(1, self.mock_driver.init_router_port.call_count)
|
||||||
exp_arp_calls = [mock.call(ri.ns_name, interface_name,
|
exp_arp_calls = [mock.call(ri.ns_name, interface_name,
|
||||||
'20.0.0.30', mock.ANY)]
|
'20.0.0.30', mock.ANY)]
|
||||||
if dual_stack:
|
if dual_stack:
|
||||||
@ -810,8 +810,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.process_floating_ip_addresses.reset_mock()
|
ri.process_floating_ip_addresses.reset_mock()
|
||||||
ri.process_floating_ip_nat_rules.assert_called_with()
|
ri.process_floating_ip_nat_rules.assert_called_with()
|
||||||
ri.process_floating_ip_nat_rules.reset_mock()
|
ri.process_floating_ip_nat_rules.reset_mock()
|
||||||
self.assertEqual(ri.external_gateway_added.call_count, 0)
|
self.assertEqual(0, ri.external_gateway_added.call_count)
|
||||||
self.assertEqual(ri.external_gateway_updated.call_count, 0)
|
self.assertEqual(0, ri.external_gateway_updated.call_count)
|
||||||
ri.external_gateway_added.reset_mock()
|
ri.external_gateway_added.reset_mock()
|
||||||
ri.external_gateway_updated.reset_mock()
|
ri.external_gateway_updated.reset_mock()
|
||||||
|
|
||||||
@ -825,8 +825,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.process(agent)
|
ri.process(agent)
|
||||||
ri.process_floating_ip_addresses.reset_mock()
|
ri.process_floating_ip_addresses.reset_mock()
|
||||||
ri.process_floating_ip_nat_rules.reset_mock()
|
ri.process_floating_ip_nat_rules.reset_mock()
|
||||||
self.assertEqual(ri.external_gateway_added.call_count, 0)
|
self.assertEqual(0, ri.external_gateway_added.call_count)
|
||||||
self.assertEqual(ri.external_gateway_updated.call_count, 1)
|
self.assertEqual(1, ri.external_gateway_updated.call_count)
|
||||||
|
|
||||||
# remove just the floating ips
|
# remove just the floating ips
|
||||||
del router[l3_constants.FLOATINGIP_KEY]
|
del router[l3_constants.FLOATINGIP_KEY]
|
||||||
@ -840,12 +840,10 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
del router[l3_constants.INTERFACE_KEY]
|
del router[l3_constants.INTERFACE_KEY]
|
||||||
del router['gw_port']
|
del router['gw_port']
|
||||||
ri.process(agent)
|
ri.process(agent)
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 1)
|
self.assertEqual(1, self.send_adv_notif.call_count)
|
||||||
distributed = ri.router.get('distributed', False)
|
distributed = ri.router.get('distributed', False)
|
||||||
self.assertEqual(ri.process_floating_ip_addresses.called,
|
self.assertEqual(distributed, ri.process_floating_ip_addresses.called)
|
||||||
distributed)
|
self.assertEqual(distributed, ri.process_floating_ip_nat_rules.called)
|
||||||
self.assertEqual(ri.process_floating_ip_nat_rules.called,
|
|
||||||
distributed)
|
|
||||||
|
|
||||||
@mock.patch('neutron.agent.linux.ip_lib.IPDevice')
|
@mock.patch('neutron.agent.linux.ip_lib.IPDevice')
|
||||||
def _test_process_floating_ip_addresses_add(self, ri, agent, IPDevice):
|
def _test_process_floating_ip_addresses_add(self, ri, agent, IPDevice):
|
||||||
@ -960,8 +958,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.create_dvr_fip_interfaces(ext_gw_port)
|
ri.create_dvr_fip_interfaces(ext_gw_port)
|
||||||
self.assertTrue(fip_gw_port.called)
|
self.assertTrue(fip_gw_port.called)
|
||||||
self.assertTrue(fips.called)
|
self.assertTrue(fips.called)
|
||||||
self.assertEqual(ri.fip_ns.agent_gateway_port,
|
self.assertEqual(agent_gateway_port[0],
|
||||||
agent_gateway_port[0])
|
ri.fip_ns.agent_gateway_port)
|
||||||
self.assertTrue(ri.rtr_fip_subnet)
|
self.assertTrue(ri.rtr_fip_subnet)
|
||||||
self.assertEqual(1, agent.process_router_add.call_count)
|
self.assertEqual(1, agent.process_router_add.call_count)
|
||||||
|
|
||||||
@ -1010,8 +1008,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.create_dvr_fip_interfaces(ext_gw_port)
|
ri.create_dvr_fip_interfaces(ext_gw_port)
|
||||||
self.assertTrue(fip_gw_port.called)
|
self.assertTrue(fip_gw_port.called)
|
||||||
self.assertTrue(fips.called)
|
self.assertTrue(fips.called)
|
||||||
self.assertEqual(ri.fip_ns.agent_gateway_port,
|
self.assertEqual(agent_gateway_port[0],
|
||||||
agent_gateway_port[0])
|
ri.fip_ns.agent_gateway_port)
|
||||||
self.assertTrue(ri.rtr_fip_subnet)
|
self.assertTrue(ri.rtr_fip_subnet)
|
||||||
|
|
||||||
def test_process_router_cent_floating_ip_add(self):
|
def test_process_router_cent_floating_ip_add(self):
|
||||||
@ -1050,14 +1048,14 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
# IpTablesRule instances
|
# IpTablesRule instances
|
||||||
nat_rules_delta = [r for r in orig_nat_rules
|
nat_rules_delta = [r for r in orig_nat_rules
|
||||||
if r not in ri.iptables_manager.ipv4['nat'].rules]
|
if r not in ri.iptables_manager.ipv4['nat'].rules]
|
||||||
self.assertEqual(len(nat_rules_delta), 3)
|
self.assertEqual(3, len(nat_rules_delta))
|
||||||
mangle_rules_delta = [
|
mangle_rules_delta = [
|
||||||
r for r in orig_mangle_rules
|
r for r in orig_mangle_rules
|
||||||
if r not in ri.iptables_manager.ipv4['mangle'].rules]
|
if r not in ri.iptables_manager.ipv4['mangle'].rules]
|
||||||
self.assertEqual(len(mangle_rules_delta), 1)
|
self.assertEqual(1, len(mangle_rules_delta))
|
||||||
self._verify_snat_mangle_rules(nat_rules_delta, mangle_rules_delta,
|
self._verify_snat_mangle_rules(nat_rules_delta, mangle_rules_delta,
|
||||||
router)
|
router)
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 1)
|
self.assertEqual(1, self.send_adv_notif.call_count)
|
||||||
|
|
||||||
def test_process_router_snat_enabled(self):
|
def test_process_router_snat_enabled(self):
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -1077,14 +1075,14 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
# IpTablesRule instances
|
# IpTablesRule instances
|
||||||
nat_rules_delta = [r for r in ri.iptables_manager.ipv4['nat'].rules
|
nat_rules_delta = [r for r in ri.iptables_manager.ipv4['nat'].rules
|
||||||
if r not in orig_nat_rules]
|
if r not in orig_nat_rules]
|
||||||
self.assertEqual(len(nat_rules_delta), 3)
|
self.assertEqual(3, len(nat_rules_delta))
|
||||||
mangle_rules_delta = [
|
mangle_rules_delta = [
|
||||||
r for r in ri.iptables_manager.ipv4['mangle'].rules
|
r for r in ri.iptables_manager.ipv4['mangle'].rules
|
||||||
if r not in orig_mangle_rules]
|
if r not in orig_mangle_rules]
|
||||||
self.assertEqual(len(mangle_rules_delta), 1)
|
self.assertEqual(1, len(mangle_rules_delta))
|
||||||
self._verify_snat_mangle_rules(nat_rules_delta, mangle_rules_delta,
|
self._verify_snat_mangle_rules(nat_rules_delta, mangle_rules_delta,
|
||||||
router)
|
router)
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 1)
|
self.assertEqual(1, self.send_adv_notif.call_count)
|
||||||
|
|
||||||
def test_update_routing_table(self):
|
def test_update_routing_table(self):
|
||||||
# Just verify the correct namespace was used in the call
|
# Just verify the correct namespace was used in the call
|
||||||
@ -1121,7 +1119,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.router = router
|
ri.router = router
|
||||||
ri.process(agent)
|
ri.process(agent)
|
||||||
# send_ip_addr_adv_notif is called both times process is called
|
# send_ip_addr_adv_notif is called both times process is called
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 2)
|
self.assertEqual(2, self.send_adv_notif.call_count)
|
||||||
|
|
||||||
def _test_process_ipv6_only_or_dual_stack_gw(self, dual_stack=False):
|
def _test_process_ipv6_only_or_dual_stack_gw(self, dual_stack=False):
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -1322,7 +1320,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri.router = router
|
ri.router = router
|
||||||
ri.process(agent)
|
ri.process(agent)
|
||||||
# send_ip_addr_adv_notif is called both times process is called
|
# send_ip_addr_adv_notif is called both times process is called
|
||||||
self.assertEqual(self.send_adv_notif.call_count, 2)
|
self.assertEqual(2, self.send_adv_notif.call_count)
|
||||||
|
|
||||||
def test_process_router_ipv6_interface_removed(self):
|
def test_process_router_ipv6_interface_removed(self):
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -1529,7 +1527,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
mock.ANY, ri.router_id,
|
mock.ANY, ri.router_id,
|
||||||
{fip_id: l3_constants.FLOATINGIP_STATUS_ERROR})
|
{fip_id: l3_constants.FLOATINGIP_STATUS_ERROR})
|
||||||
|
|
||||||
self.assertEqual(ri.iptables_manager._apply.call_count, 1)
|
self.assertEqual(1, ri.iptables_manager._apply.call_count)
|
||||||
|
|
||||||
def test_handle_router_snat_rules_distributed_without_snat_manager(self):
|
def test_handle_router_snat_rules_distributed_without_snat_manager(self):
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -1562,8 +1560,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
for call in nat.mock_calls:
|
for call in nat.mock_calls:
|
||||||
name, args, kwargs = call
|
name, args, kwargs = call
|
||||||
if name == 'add_rule':
|
if name == 'add_rule':
|
||||||
self.assertEqual(args, ('snat', '-j $float-snat'))
|
self.assertEqual(('snat', '-j $float-snat'), args)
|
||||||
self.assertEqual(kwargs, {})
|
self.assertEqual({}, kwargs)
|
||||||
break
|
break
|
||||||
|
|
||||||
def test_handle_router_snat_rules_add_rules(self):
|
def test_handle_router_snat_rules_add_rules(self):
|
||||||
@ -1613,7 +1611,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ri = l3router.RouterInfo(router['id'], router, **self.ri_kwargs)
|
ri = l3router.RouterInfo(router['id'], router, **self.ri_kwargs)
|
||||||
|
|
||||||
internal_ports = ri.router.get(l3_constants.INTERFACE_KEY, [])
|
internal_ports = ri.router.get(l3_constants.INTERFACE_KEY, [])
|
||||||
self.assertEqual(len(internal_ports), 1)
|
self.assertEqual(1, len(internal_ports))
|
||||||
internal_port = internal_ports[0]
|
internal_port = internal_ports[0]
|
||||||
|
|
||||||
with mock.patch.object(ri, 'internal_network_removed'
|
with mock.patch.object(ri, 'internal_network_removed'
|
||||||
@ -1627,12 +1625,12 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
|
|
||||||
ri.process(agent)
|
ri.process(agent)
|
||||||
|
|
||||||
self.assertEqual(external_gateway_added.call_count, 1)
|
self.assertEqual(1, external_gateway_added.call_count)
|
||||||
self.assertFalse(external_gateway_removed.called)
|
self.assertFalse(external_gateway_removed.called)
|
||||||
self.assertFalse(internal_network_removed.called)
|
self.assertFalse(internal_network_removed.called)
|
||||||
internal_network_added.assert_called_once_with(internal_port)
|
internal_network_added.assert_called_once_with(internal_port)
|
||||||
self.assertEqual(self.mock_driver.unplug.call_count,
|
self.assertEqual(len(stale_devnames),
|
||||||
len(stale_devnames))
|
self.mock_driver.unplug.call_count)
|
||||||
calls = [mock.call(stale_devname,
|
calls = [mock.call(stale_devname,
|
||||||
namespace=ri.ns_name,
|
namespace=ri.ns_name,
|
||||||
prefix=l3_agent.INTERNAL_DEV_PREFIX)
|
prefix=l3_agent.INTERNAL_DEV_PREFIX)
|
||||||
@ -1711,7 +1709,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
'qrouter-bar', self.conf, agent.driver, agent.use_ipv6)
|
'qrouter-bar', self.conf, agent.driver, agent.use_ipv6)
|
||||||
ns.create()
|
ns.create()
|
||||||
ns.delete()
|
ns.delete()
|
||||||
self.assertEqual(self.mock_ip.netns.delete.call_count, 0)
|
self.assertEqual(0, self.mock_ip.netns.delete.call_count)
|
||||||
|
|
||||||
def test_destroy_router_namespace_removes_ns(self):
|
def test_destroy_router_namespace_removes_ns(self):
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
@ -1944,9 +1942,10 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
ns_manager.keep_router(r['id'])
|
ns_manager.keep_router(r['id'])
|
||||||
qrouters = [n for n in stale_namespace_list
|
qrouters = [n for n in stale_namespace_list
|
||||||
if n.startswith(namespaces.NS_PREFIX)]
|
if n.startswith(namespaces.NS_PREFIX)]
|
||||||
self.assertEqual(mock_router_ns.call_count, len(qrouters))
|
self.assertEqual(len(qrouters), mock_router_ns.call_count)
|
||||||
self.assertEqual(mock_snat_ns.call_count,
|
self.assertEqual(
|
||||||
len(stale_namespace_list) - len(qrouters))
|
len(stale_namespace_list) - len(qrouters),
|
||||||
|
mock_snat_ns.call_count)
|
||||||
|
|
||||||
self.assertFalse(agent.namespaces_manager._clean_stale)
|
self.assertFalse(agent.namespaces_manager._clean_stale)
|
||||||
|
|
||||||
@ -2017,8 +2016,8 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
|
|
||||||
# check 2 internal ports are plugged
|
# check 2 internal ports are plugged
|
||||||
# check 1 ext-gw-port is plugged
|
# check 1 ext-gw-port is plugged
|
||||||
self.assertEqual(self.mock_driver.plug.call_count, 3)
|
self.assertEqual(3, self.mock_driver.plug.call_count)
|
||||||
self.assertEqual(self.mock_driver.init_router_port.call_count, 3)
|
self.assertEqual(3, self.mock_driver.init_router_port.call_count)
|
||||||
|
|
||||||
def test_get_service_plugin_list(self):
|
def test_get_service_plugin_list(self):
|
||||||
service_plugins = [p_const.L3_ROUTER_NAT]
|
service_plugins = [p_const.L3_ROUTER_NAT]
|
||||||
@ -2043,7 +2042,7 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework):
|
|||||||
)
|
)
|
||||||
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
agent = l3_agent.L3NATAgent(HOSTNAME, self.conf)
|
||||||
|
|
||||||
self.assertEqual(agent.neutron_service_plugins, tuple())
|
self.assertEqual(tuple(), agent.neutron_service_plugins)
|
||||||
|
|
||||||
def test_get_service_plugin_list_retried_max(self):
|
def test_get_service_plugin_list_retried_max(self):
|
||||||
raise_timeout = oslo_messaging.MessagingTimeout()
|
raise_timeout = oslo_messaging.MessagingTimeout()
|
||||||
|
@ -87,8 +87,8 @@ class TestDvrFipNs(base.BaseTestCase):
|
|||||||
device_exists.return_value = False
|
device_exists.return_value = False
|
||||||
self.fip_ns._gateway_added(agent_gw_port,
|
self.fip_ns._gateway_added(agent_gw_port,
|
||||||
mock.sentinel.interface_name)
|
mock.sentinel.interface_name)
|
||||||
self.assertEqual(self.driver.plug.call_count, 1)
|
self.assertEqual(1, self.driver.plug.call_count)
|
||||||
self.assertEqual(self.driver.init_l3.call_count, 1)
|
self.assertEqual(1, self.driver.init_l3.call_count)
|
||||||
send_adv_notif.assert_called_once_with(self.fip_ns.get_name(),
|
send_adv_notif.assert_called_once_with(self.fip_ns.get_name(),
|
||||||
mock.sentinel.interface_name,
|
mock.sentinel.interface_name,
|
||||||
'20.0.0.30',
|
'20.0.0.30',
|
||||||
@ -144,7 +144,7 @@ class TestDvrFipNs(base.BaseTestCase):
|
|||||||
|
|
||||||
device = IPDevice()
|
device = IPDevice()
|
||||||
device.link.set_mtu.assert_called_with(2000)
|
device.link.set_mtu.assert_called_with(2000)
|
||||||
self.assertEqual(device.link.set_mtu.call_count, 2)
|
self.assertEqual(2, device.link.set_mtu.call_count)
|
||||||
device.route.add_gateway.assert_called_once_with(
|
device.route.add_gateway.assert_called_once_with(
|
||||||
'169.254.31.29', table=16)
|
'169.254.31.29', table=16)
|
||||||
|
|
||||||
|
@ -46,13 +46,13 @@ class TestNamespaceManager(NamespaceManagerTestCaseFramework):
|
|||||||
|
|
||||||
ns_prefix, ns_id = self.ns_manager.get_prefix_and_id(
|
ns_prefix, ns_id = self.ns_manager.get_prefix_and_id(
|
||||||
namespaces.NS_PREFIX + router_id)
|
namespaces.NS_PREFIX + router_id)
|
||||||
self.assertEqual(ns_prefix, namespaces.NS_PREFIX)
|
self.assertEqual(namespaces.NS_PREFIX, ns_prefix)
|
||||||
self.assertEqual(ns_id, router_id)
|
self.assertEqual(router_id, ns_id)
|
||||||
|
|
||||||
ns_prefix, ns_id = self.ns_manager.get_prefix_and_id(
|
ns_prefix, ns_id = self.ns_manager.get_prefix_and_id(
|
||||||
dvr_snat_ns.SNAT_NS_PREFIX + router_id)
|
dvr_snat_ns.SNAT_NS_PREFIX + router_id)
|
||||||
self.assertEqual(ns_prefix, dvr_snat_ns.SNAT_NS_PREFIX)
|
self.assertEqual(dvr_snat_ns.SNAT_NS_PREFIX, ns_prefix)
|
||||||
self.assertEqual(ns_id, router_id)
|
self.assertEqual(router_id, ns_id)
|
||||||
|
|
||||||
ns_name = 'dhcp-' + router_id
|
ns_name = 'dhcp-' + router_id
|
||||||
self.assertIsNone(self.ns_manager.get_prefix_and_id(ns_name))
|
self.assertIsNone(self.ns_manager.get_prefix_and_id(ns_name))
|
||||||
|
@ -49,10 +49,10 @@ class TestExclusiveRouterProcessor(base.BaseTestCase):
|
|||||||
master_2 = l3_queue.ExclusiveRouterProcessor(FAKE_ID_2)
|
master_2 = l3_queue.ExclusiveRouterProcessor(FAKE_ID_2)
|
||||||
not_master_2 = l3_queue.ExclusiveRouterProcessor(FAKE_ID_2)
|
not_master_2 = l3_queue.ExclusiveRouterProcessor(FAKE_ID_2)
|
||||||
|
|
||||||
self.assertEqual(master._master, master)
|
self.assertEqual(master, master._master)
|
||||||
self.assertEqual(not_master._master, master)
|
self.assertEqual(master, not_master._master)
|
||||||
self.assertEqual(master_2._master, master_2)
|
self.assertEqual(master_2, master_2._master)
|
||||||
self.assertEqual(not_master_2._master, master_2)
|
self.assertEqual(master_2, not_master_2._master)
|
||||||
|
|
||||||
master.__exit__(None, None, None)
|
master.__exit__(None, None, None)
|
||||||
master_2.__exit__(None, None, None)
|
master_2.__exit__(None, None, None)
|
||||||
@ -77,16 +77,16 @@ class TestExclusiveRouterProcessor(base.BaseTestCase):
|
|||||||
|
|
||||||
def test_data_fetched_since(self):
|
def test_data_fetched_since(self):
|
||||||
master = l3_queue.ExclusiveRouterProcessor(FAKE_ID)
|
master = l3_queue.ExclusiveRouterProcessor(FAKE_ID)
|
||||||
self.assertEqual(master._get_router_data_timestamp(),
|
self.assertEqual(datetime.datetime.min,
|
||||||
datetime.datetime.min)
|
master._get_router_data_timestamp())
|
||||||
|
|
||||||
ts1 = datetime.datetime.utcnow() - datetime.timedelta(seconds=10)
|
ts1 = datetime.datetime.utcnow() - datetime.timedelta(seconds=10)
|
||||||
ts2 = datetime.datetime.utcnow()
|
ts2 = datetime.datetime.utcnow()
|
||||||
|
|
||||||
master.fetched_and_processed(ts2)
|
master.fetched_and_processed(ts2)
|
||||||
self.assertEqual(master._get_router_data_timestamp(), ts2)
|
self.assertEqual(ts2, master._get_router_data_timestamp())
|
||||||
master.fetched_and_processed(ts1)
|
master.fetched_and_processed(ts1)
|
||||||
self.assertEqual(master._get_router_data_timestamp(), ts2)
|
self.assertEqual(ts2, master._get_router_data_timestamp())
|
||||||
|
|
||||||
master.__exit__(None, None, None)
|
master.__exit__(None, None, None)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user