feat: OUI_PREFIXES auf DeviceTypeDriver für MAC-basiertes Fingerprinting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-24 15:41:45 +02:00
co-authored by Claude Sonnet 4.6
parent 0f6734e6da
commit 51e677492a
2 changed files with 8 additions and 0 deletions
+5
View File
@@ -56,6 +56,7 @@ def test_defaults_on_device_type_driver():
assert DeviceTypeDriver.SNMP_FINGERPRINT == []
assert DeviceTypeDriver.SSH_FINGERPRINT == []
assert DeviceTypeDriver.HTTP_FINGERPRINT == []
assert DeviceTypeDriver.OUI_PREFIXES == []
@pytest.mark.parametrize("cls", TYPE_DRIVERS)
@@ -65,6 +66,7 @@ def test_fingerprint_attributes_inherited(cls):
assert hasattr(cls, "SSH_FINGERPRINT")
assert hasattr(cls, "PORT_SPECS")
assert hasattr(cls, "SNMP_OBJECT_ID_PREFIX")
assert hasattr(cls, "OUI_PREFIXES")
# ── FingerprintRule ───────────────────────────────────────────────────────────
@@ -125,13 +127,16 @@ def test_concrete_driver_overrides_fingerprint():
DRIVER_NAME = "acme"
HTTP_FINGERPRINT = [FingerprintRule("acme portal", weight=9.0, mandatory=True)]
PORT_SPECS = [PortSpec("https", 9443, weight=7.0)]
OUI_PREFIXES = ["AA:BB:CC"]
assert MyDriver.VENDOR == "Acme"
assert MyDriver.HTTP_FINGERPRINT[0].pattern == "acme portal"
assert MyDriver.PORT_SPECS[0].port == 9443
assert MyDriver.OUI_PREFIXES == ["AA:BB:CC"]
# base class unaffected
assert FirewallDriver.HTTP_FINGERPRINT == []
assert FirewallDriver.PORT_SPECS is None
assert FirewallDriver.OUI_PREFIXES == []
def test_type_label_unaffected_by_refactor():