def test_validate_length(self): good_duid_object = LinkLayerDUID(0, 126 * b'x') good_duid_object.validate() bad_duid_object = LinkLayerDUID(0, 127 * b'x') with self.assertRaisesRegex(ValueError, 'cannot be longer than 126 bytes'): bad_duid_object.validate()
def test_validate_length(self): good_duid_object = LinkLayerDUID(0, 124 * b'x') good_duid_object.validate() bad_duid_object = LinkLayerDUID(0, 125 * b'x') with self.assertRaisesRegex(ValueError, 'cannot be longer than 124 bytes'): bad_duid_object.validate()
def duid_ll(section) -> LinkLayerDUID: """ Create a LinkLayerDUID from the data provided in the config section. :param section: The section data :return: The DUID object """ duid = LinkLayerDUID(hardware_type=section.hardware_type, link_layer_address=section.link_layer_address) duid.validate() return duid
def test_validate_hardware_type(self): good_duid_object = LinkLayerDUID(0, b'demo') good_duid_object.validate() bad_duid_object = LinkLayerDUID(-1, b'demo') with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'): bad_duid_object.validate() bad_duid_object = LinkLayerDUID(2**16, b'demo') with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'): bad_duid_object.validate()
def test_validate_hardware_type(self): good_duid_object = LinkLayerDUID(0, b'demo') good_duid_object.validate() bad_duid_object = LinkLayerDUID(-1, b'demo') with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'): bad_duid_object.validate() bad_duid_object = LinkLayerDUID(2 ** 16, b'demo') with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'): bad_duid_object.validate()
def test_validate_link_layer(self): # noinspection PyTypeChecker bad_duid_object = LinkLayerDUID(0, 'demo') with self.assertRaisesRegex(ValueError, 'sequence of bytes'): bad_duid_object.validate()