def setUp(self): # Add a dummy extensions that modifies the marks server_extension_registry['dummy'] = DummyExtension() # Some mock objects to use self.dummy_handler = DeepCopyMagicMock(spec=Handler) unicast_me_filter = MarkedWithFilter( filter_condition='unicast-me', sub_handlers=[ ServerUnicastOptionHandler(address=IPv6Address('2001:db8::1')) ]) ignore_me_filter = MarkedWithFilter( filter_condition='ignore-me', sub_handlers=[IgnoreRequestHandler()]) reject_me_filter = MarkedWithFilter( filter_condition='reject-me', sub_handlers=[BadExceptionHandler()]) # Prove to PyCharm that this is really a handler self.assertIsInstance(self.dummy_handler, Handler) # This is the DUID that is used in the message fixtures self.duid = LinkLayerTimeDUID( hardware_type=1, time=488458703, link_layer_address=bytes.fromhex('00137265ca42')) # Create some message handlers self.message_handler = MessageHandler( server_id=self.duid, sub_filters=[ unicast_me_filter, ignore_me_filter, reject_me_filter ], sub_handlers=[self.dummy_handler], allow_rapid_commit=False, rapid_commit_rejections=False) self.rapid_message_handler = MessageHandler( server_id=self.duid, sub_handlers=[self.dummy_handler], allow_rapid_commit=True, rapid_commit_rejections=False) self.very_rapid_message_handler = MessageHandler( server_id=self.duid, sub_handlers=[self.dummy_handler], allow_rapid_commit=True, rapid_commit_rejections=True)
def create_message_handler(self) -> MessageHandler: """ Create a message handler based on this configuration. :return: The message handler """ sub_filters = [] for filter_factory in self.section.filter_factories: sub_filters.append(filter_factory()) sub_handlers = [] for handler_factory in self.section.handler_factories: sub_handlers.append(handler_factory()) return MessageHandler(self.section.server_id, sub_filters, sub_handlers, self.section.allow_rapid_commit)
def setUp(self): # This is the DUID that is used in the message fixtures self.duid = LinkLayerTimeDUID(hardware_type=1, time=488458703, link_layer_address=bytes.fromhex('00137265ca42')) # Create a message handler self.message_handler = MessageHandler(server_id=self.duid)