def test_process_network_devices_failed(self): device_info = {'current': [1, 2, 3]} lbmgr_instance = self.lbmgr_mock.return_value lbmgr_instance.update_devices.return_value = device_info agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0, None) raise_exception = [0] def info_mock(msg): if raise_exception[0] < 2: raise_exception[0] += 1 else: raise RuntimeError() with contextlib.nested( mock.patch.object(linuxbridge_neutron_agent.LOG, 'info'), mock.patch.object( agent, 'process_network_devices')) as (log, process_network_devices): log.side_effect = info_mock process_network_devices.side_effect = RuntimeError with testtools.ExpectedException(RuntimeError): agent.daemon_loop() self.assertEqual(3, log.call_count)
def test_treat_devices_removed_failed(self): agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0, None) devices = [DEVICE_1] with contextlib.nested( mock.patch.object(agent.plugin_rpc, "update_device_down"), mock.patch.object(agent, "remove_devices_filter")) as (fn_udd, fn_rdf): fn_udd.side_effect = Exception() with mock.patch.object(linuxbridge_neutron_agent.LOG, 'debug') as log: resync = agent.treat_devices_removed(devices) self.assertEqual(2, log.call_count) self.assertTrue(resync) self.assertTrue(fn_udd.called) self.assertTrue(fn_rdf.called)
def test_treat_devices_removed_with_not_existed_device(self): agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0, None) devices = [DEVICE_1] with contextlib.nested( mock.patch.object(agent.plugin_rpc, "update_device_down"), mock.patch.object(agent, "remove_devices_filter")) as (fn_udd, fn_rdf): fn_udd.return_value = {'device': DEVICE_1, 'exists': False} with mock.patch.object(linuxbridge_neutron_agent.LOG, 'debug') as log: resync = agent.treat_devices_removed(devices) self.assertEqual(1, log.call_count) self.assertFalse(resync) self.assertTrue(fn_udd.called) self.assertTrue(fn_rdf.called)
def setUp(self): super(TestLinuxBridgeAgent, self).setUp() # disable setting up periodic state reporting cfg.CONF.set_override('report_interval', 0, 'AGENT') cfg.CONF.set_default('firewall_driver', 'neutron.agent.firewall.NoopFirewallDriver', group='SECURITYGROUP') self.execute_p = mock.patch.object(ip_lib.IPWrapper, '_execute') self.execute = self.execute_p.start() self.execute.return_value = '\n'.join(self.LINK_SAMPLE) self.get_mac_p = mock.patch('neutron.agent.linux.utils.' 'get_interface_mac') self.get_mac = self.get_mac_p.start() self.get_mac.return_value = '00:00:00:00:00:01' self.agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0)
def test_update_devices_failed(self): lbmgr_instance = self.lbmgr_mock.return_value lbmgr_instance.update_devices.side_effect = RuntimeError agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({}, 0, None) raise_exception = [0] def info_mock(msg): if raise_exception[0] < 2: raise_exception[0] += 1 else: raise RuntimeError() with mock.patch.object(linuxbridge_neutron_agent.LOG, 'info') as log: log.side_effect = info_mock with testtools.ExpectedException(RuntimeError): agent.daemon_loop() self.assertEqual(3, log.call_count)
def setUp(self): super(TestLinuxBridgeAgent, self).setUp() # disable setting up periodic state reporting cfg.CONF.set_override('report_interval', 0, 'AGENT') cfg.CONF.set_default('firewall_driver', 'neutron.agent.firewall.NoopFirewallDriver', group='SECURITYGROUP') self.get_devices_p = mock.patch.object(ip_lib.IPWrapper, 'get_devices') self.get_devices = self.get_devices_p.start() self.get_devices.return_value = [ip_lib.IPDevice('eth77')] self.get_mac_p = mock.patch('neutron.agent.linux.utils.' 'get_interface_mac') self.get_mac = self.get_mac_p.start() self.get_mac.return_value = '00:00:00:00:00:01' with mock.patch.object(linuxbridge_neutron_agent.LinuxBridgeManager, 'get_interface_by_ip', return_value=None): self.agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC( {}, 0)