feat(tests): improve class comparison in custom netmiko tests

Refactor test assertions to compare classes by module and name instead of direct object comparison. This ensures tests remain reliable when classes are imported via different paths, preventing false failures due to import variations. Changes applied to Huawei CE, Ruijie, and VPCS telnet driver tests.
This commit is contained in:
YueGuobin committed 2026-03-17 22:33:28 +08:00
1 parent e1f25ce63b
commit 55c7d249fb
3 files changed
+21 -12

No files matched your search

@@ -51,16 +51,19 @@ class TestHuaweiTelnetCEDriver(unittest.TestCase):
# Check CLASS_MAPPER
self.assertIn("gns3_huawei_telnet_ce", CLASS_MAPPER)
registered_class = CLASS_MAPPER["gns3_huawei_telnet_ce"]
# Compare by module+name since class may be imported via different paths
self.assertEqual(
CLASS_MAPPER["gns3_huawei_telnet_ce"],
self.HuaweiTelnetCE
(registered_class.__module__, registered_class.__name__),
(self.HuaweiTelnetCE.__module__, self.HuaweiTelnetCE.__name__)
)
# Check CLASS_MAPPER_BASE
self.assertIn("gns3_huawei_telnet_ce", CLASS_MAPPER_BASE)
registered_class_base = CLASS_MAPPER_BASE["gns3_huawei_telnet_ce"]
self.assertEqual(
CLASS_MAPPER_BASE["gns3_huawei_telnet_ce"],
self.HuaweiTelnetCE
(registered_class_base.__module__, registered_class_base.__name__),
(self.HuaweiTelnetCE.__module__, self.HuaweiTelnetCE.__name__)
)
def test_inheritance_from_huawei_base(self):
@@ -51,16 +51,19 @@ class TestRuijieTelnetEnhancedDriver(unittest.TestCase):
# Check CLASS_MAPPER
self.assertIn("gns3_ruijie_telnet", CLASS_MAPPER)
registered_class = CLASS_MAPPER["gns3_ruijie_telnet"]
# Compare by module+name since class may be imported via different paths
self.assertEqual(
CLASS_MAPPER["gns3_ruijie_telnet"],
self.RuijieTelnetEnhanced
(registered_class.__module__, registered_class.__name__),
(self.RuijieTelnetEnhanced.__module__, self.RuijieTelnetEnhanced.__name__)
)
# Check CLASS_MAPPER_BASE
self.assertIn("gns3_ruijie_telnet", CLASS_MAPPER_BASE)
registered_class_base = CLASS_MAPPER_BASE["gns3_ruijie_telnet"]
self.assertEqual(
CLASS_MAPPER_BASE["gns3_ruijie_telnet"],
self.RuijieTelnetEnhanced
(registered_class_base.__module__, registered_class_base.__name__),
(self.RuijieTelnetEnhanced.__module__, self.RuijieTelnetEnhanced.__name__)
)
def test_inheritance_from_ruijie_os_base(self):
@@ -53,16 +53,19 @@ class TestVPCSTelnetDriver(unittest.TestCase):
# Check CLASS_MAPPER
self.assertIn("gns3_vpcs_telnet", CLASS_MAPPER)
registered_class = CLASS_MAPPER["gns3_vpcs_telnet"]
# Compare by module+name since class may be imported via different paths
self.assertEqual(
CLASS_MAPPER["gns3_vpcs_telnet"],
self.VPCSTelnet
(registered_class.__module__, registered_class.__name__),
(self.VPCSTelnet.__module__, self.VPCSTelnet.__name__)
)
# Check CLASS_MAPPER_BASE
self.assertIn("gns3_vpcs_telnet", CLASS_MAPPER_BASE)
registered_class_base = CLASS_MAPPER_BASE["gns3_vpcs_telnet"]
self.assertEqual(
CLASS_MAPPER_BASE["gns3_vpcs_telnet"],
self.VPCSTelnet
(registered_class_base.__module__, registered_class_base.__name__),
(self.VPCSTelnet.__module__, self.VPCSTelnet.__name__)
)
def test_inheritance_from_base_connection(self):