updated_ports)
self.assertEqual(expected, actual)
+ def test_update_ports_returns_lost_vlan_port(self):
+ br = self.mod_agent.OVSBridge('br-int', 'fake_helper', self.ryuapp)
+ mac = "ca:fe:de:ad:be:ef"
+ port = ovs_lib.VifPort(1, 1, 1, mac, br)
+ lvm = self.mod_agent.LocalVLANMapping(
+ 1, '1', None, 1, {port.vif_id: port})
+ local_vlan_map = {'1': lvm}
+ vif_port_set = set([1, 3])
+ registered_ports = set([1, 2])
+ port_tags_dict = {1: []}
+ expected = dict(
+ added=set([3]), current=vif_port_set,
+ removed=set([2]), updated=set([1])
+ )
+ with mock.patch.dict(self.agent.local_vlan_map, local_vlan_map):
+ actual = self.mock_scan_ports(
+ vif_port_set, registered_ports, port_tags_dict=port_tags_dict)
+ self.assertEqual(expected, actual)
+
def test_treat_devices_added_returns_true_for_missing_device(self):
- with mock.patch.object(self.agent.plugin_rpc, 'get_device_details',
- side_effect=Exception()):
+ with contextlib.nested(
+ mock.patch.object(self.agent.plugin_rpc, 'get_device_details',
+ side_effect=Exception()),
+ mock.patch.object(self.agent.int_br, 'get_vif_port_by_id',
+ return_value=mock.Mock())):
self.assertTrue(self.agent.treat_devices_added_or_updated([{}]))
def _mock_treat_devices_added_updated(self, details, port, func_name):