Source code for dhcpkit.tests.ipv6.extensions.leasequery.test_leasequery_message

"""
Test the LeasequeryMessage implementation
"""
import unittest
from ipaddress import IPv6Address

from dhcpkit.ipv6.duids import LinkLayerDUID
from dhcpkit.ipv6.extensions.leasequery import LQQueryOption, LeasequeryMessage, OPTION_LQ_RELAY_DATA, QUERY_BY_ADDRESS
from dhcpkit.ipv6.options import ClientIdOption, OptionRequestOption
from dhcpkit.tests.ipv6.messages import test_message


[docs]class LeasequeryMessageTestCase(test_message.MessageTestCase):
[docs] def setUp(self): self.packet_fixture = bytes.fromhex( '0e' # Message type Leasequery 'e86f0c' # Transaction ID '0001' # Option type 1: OPTION_CLIENT_ID '000a' # Option length: 10 '0003' # DUID type: DUID_LL '0001' # Hardware type: Ethernet '001ee6f77d00' # MAC Address '002c' # Option type 44: OPTION_LQ_QUERY '0017' # Option length: 23 '01' # Query type: QUERY_BY_ADDRESS 'fe800000000000000000000000000001' # Link address: fe80::1 '0006' # Option type: OPTION_ORO '0002' # Option length: 2 '002f' # Requested option: OPTION_LQ_RELAY_DATA ) self.message_fixture = LeasequeryMessage( transaction_id=bytes.fromhex('e86f0c'), options=[ ClientIdOption(duid=LinkLayerDUID(hardware_type=1, link_layer_address=bytes.fromhex('001ee6f77d00'))), LQQueryOption( query_type=QUERY_BY_ADDRESS, link_address=IPv6Address('fe80::1'), options=[ OptionRequestOption(requested_options=[OPTION_LQ_RELAY_DATA]), ] ), ] ) self.parse_packet()
if __name__ == '__main__': # pragma: no cover unittest.main()