def handle_multipart_reply(self, event): """This method handles multipart replies for v0x04 switches. Args: event (:class:`~kytos.core.events.KytosEvent): Event with ofpt_multipart_reply in message. """ reply = event.content['message'] switch = event.source.switch if reply.multipart_type == MultipartTypes.OFPMP_FLOW: self._handle_multipart_flow_stats(reply, switch) elif reply.multipart_type == MultipartTypes.OFPMP_PORT_DESC: of_core_v0x04_utils.handle_port_desc(switch, reply.body) elif reply.multipart_type == MultipartTypes.OFPMP_DESC: switch.update_description(reply.body)
def test_handle_port_desc(self, mock_event_buffer): """Test Handle Port Desc.""" mock_port = MagicMock() self.mock_switch.get_interface_by_port_no.side_effect = [ MagicMock(), False ] handle_port_desc(self.mock_controller, self.mock_switch, [mock_port]) self.assertEqual(self.mock_switch.update_interface.call_count, 1) mock_event_buffer.assert_called() self.assertEqual(self.mock_controller.buffers.app.put.call_count, 1) self.mock_switch.update_interface.call_count = 0 self.mock_controller.buffers.app.put.call_count = 0 handle_port_desc(self.mock_controller, self.mock_switch, [mock_port]) self.assertEqual(self.mock_switch.update_interface.call_count, 1) mock_event_buffer.assert_called() self.assertEqual(self.mock_controller.buffers.app.put.call_count, 1)
def handle_port_desc_reply(self, event): """Handles Port Description Reply messages.""" switch = event.source.switch reply = event.content['message'] if reply.multipart_type == MultipartTypes.OFPMP_PORT_DESC: of_core_v0x04_utils.handle_port_desc(switch, reply.body)