Source code for dhcpkit.tests.ipv6.options.test_reconfigure_message_option

"""
Test the ReconfigureMessageOption implementation
"""
import unittest

from dhcpkit.ipv6.messages import MSG_RENEW
from dhcpkit.ipv6.options import ReconfigureMessageOption
from dhcpkit.tests.ipv6.options import test_option


[docs]class ReconfigureMessageOptionTestCase(test_option.OptionTestCase):
[docs] def setUp(self): self.option_bytes = bytes.fromhex('0013000105') self.option_object = ReconfigureMessageOption(message_type=MSG_RENEW) self.parse_option()
[docs] def test_message_type(self): self.option.message_type = 0 with self.assertRaisesRegex(ValueError, 'type must be'): self.option.validate() self.option.message_type = 4 with self.assertRaisesRegex(ValueError, 'type must be'): self.option.validate() self.option.message_type = 5 self.option.validate() self.option.message_type = 6 with self.assertRaisesRegex(ValueError, 'type must be'): self.option.validate() self.option.message_type = 10 with self.assertRaisesRegex(ValueError, 'type must be'): self.option.validate() self.option.message_type = 11 self.option.validate() self.option.message_type = 12 with self.assertRaisesRegex(ValueError, 'type must be'): self.option.validate()
[docs] def test_bad_option_length(self): with self.assertRaisesRegex(ValueError, 'must have length 1'): ReconfigureMessageOption.parse(bytes.fromhex('0013000005')) with self.assertRaisesRegex(ValueError, 'must have length 1'): ReconfigureMessageOption.parse(bytes.fromhex('001300020500'))
if __name__ == '__main__': # pragma: no cover unittest.main()