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 2026-03-17 22:33:28 +08:00
parent e1f25ce63b
commit 55c7d249fb
3 changed files with 21 additions and 12 deletions

View File

@ -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):

View File

@ -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):

View File

@ -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):