Example #1
0
    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()
Example #2
0
    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()
Example #3
0
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
Example #4
0
    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()
Example #5
0
    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()
Example #6
0
 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()
Example #7
0
 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()