"""Synthetic protocol fixtures only: these tests never open a network socket.""" import socket import struct import threading import unittest from unittest.mock import patch from rpcscope import longlogon ADDRESS = "192.0.2.10" GUID = bytes(range(16)) def tlv(tag, value): size = len(value) length = bytes([size]) if size < 128 else b"\x81" + bytes([size]) if size < 256 else b"\x82" + size.to_bytes(2, "big") return bytes([tag]) + length + value def dns_name(name): return b"".join(bytes([len(label.encode())]) + label.encode() for label in name.split(".") if label) + b"\0" def identity(domain="lab.example.test", forest="example.test", host=None, nb_domain="LAB", nb_host="DC1", guid=GUID): return longlogon._Identity(forest, domain, host or "dc1." + domain, nb_domain.casefold(), nb_host.casefold(), guid) def ex_blob(value=None): value = value or identity() names = (value.forest, value.domain, value.host, value.netbios_domain, value.netbios_host, "x", "Default-First-Site-Name", "") return (struct.pack("