Exemple #1
0
    def test_validate_length(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, 122 * b'x')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, 0, 123 * b'x')
        with self.assertRaisesRegex(ValueError, 'cannot be longer than 122 bytes'):
            bad_duid_object.validate()
    def test_validate_length(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, 120 * b'x')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, 0, 121 * b'x')
        with self.assertRaisesRegex(ValueError,
                                    'cannot be longer than 120 bytes'):
            bad_duid_object.validate()
Exemple #3
0
def duid_llt(section) -> LinkLayerTimeDUID:
    """
    Create a LinkLayerDUID from the data provided in the config section.

    :param section: The section data
    :return: The DUID object
    """
    duid = LinkLayerTimeDUID(hardware_type=section.hardware_type,
                             link_layer_address=section.link_layer_address,
                             time=section.timestamp)
    duid.validate()
    return duid
    def test_validate_time(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, b'demo')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, -1, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 32 bit integer'):
            bad_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, 2**32, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 32 bit integer'):
            bad_duid_object.validate()
    def test_validate_hardware_type(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, b'demo')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(-1, 0, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'):
            bad_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(2**16, 0, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'):
            bad_duid_object.validate()
Exemple #6
0
    def test_validate_time(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, b'demo')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, -1, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 32 bit integer'):
            bad_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(0, 2 ** 32, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 32 bit integer'):
            bad_duid_object.validate()
Exemple #7
0
    def test_validate_hardware_type(self):
        good_duid_object = LinkLayerTimeDUID(0, 0, b'demo')
        good_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(-1, 0, b'demo')
        with self.assertRaisesRegex(ValueError, 'unsigned 16 bit integer'):
            bad_duid_object.validate()

        bad_duid_object = LinkLayerTimeDUID(2 ** 16, 0, 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 = LinkLayerTimeDUID(0, 0, 'demo')
     with self.assertRaisesRegex(ValueError, 'sequence of bytes'):
         bad_duid_object.validate()
Exemple #9
0
 def test_validate_link_layer(self):
     # noinspection PyTypeChecker
     bad_duid_object = LinkLayerTimeDUID(0, 0, 'demo')
     with self.assertRaisesRegex(ValueError, 'sequence of bytes'):
         bad_duid_object.validate()