"""Эвристика «физических» сетевых интерфейсов для дашборда.""" import importlib.util import sys import unittest from pathlib import Path _ROOT = Path(__file__).resolve().parents[1] _SPEC = importlib.util.spec_from_file_location( "wesp_admin_system_metrics_testonly", _ROOT / "app" / "services" / "admin_system_metrics.py", ) assert _SPEC and _SPEC.loader _mod = importlib.util.module_from_spec(_SPEC) _SPEC.loader.exec_module(_mod) network_interface_is_physical = _mod.network_interface_is_physical class NetworkInterfacePhysicalTests(unittest.TestCase): def test_always_treated_as_virtual(self) -> None: self.assertFalse(network_interface_is_physical("lo")) self.assertFalse(network_interface_is_physical("lo0")) self.assertFalse(network_interface_is_physical("docker0")) self.assertFalse(network_interface_is_physical("veth0abc1")) self.assertFalse(network_interface_is_physical("br-4e2d9a")) self.assertFalse(network_interface_is_physical("br0")) self.assertFalse(network_interface_is_physical("virbr0")) @unittest.skipUnless(sys.platform.startswith("linux"), "имена eth*/wlan* — ветка Linux") def test_linux_common_nic_names_match_regex_fallback(self) -> None: self.assertTrue(network_interface_is_physical("eth0")) self.assertTrue(network_interface_is_physical("enp2s0")) self.assertTrue(network_interface_is_physical("wlan0")) self.assertTrue(network_interface_is_physical("bond0")) self.assertTrue(network_interface_is_physical("team0")) @unittest.skipUnless(sys.platform == "darwin", "на macOS физические в основном en*") def test_darwin_en(self) -> None: self.assertTrue(network_interface_is_physical("en0")) self.assertFalse(network_interface_is_physical("bridge0")) if __name__ == "__main__": unittest.main()