Merge pull request #2621 from markparonyan/issue-2521

handle None port name to prevent TypeError in short_name method
This commit is contained in:
Jeremy Grossmann 2026-03-01 12:31:17 +08:00 committed by GitHub
commit d3710e8e9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -84,9 +84,9 @@ class Port:
# If port name format has changed we use the port name as the short name (1.X behavior)
if self._short_name:
return self._short_name
elif '/' in self._name:
elif self._name and '/' in self._name:
return self._name.replace(self.long_name_type(), self.short_name_type())
elif self._name.startswith("{}{}".format(self.long_name_type(), self._interface_number)):
elif self._name and self._name.startswith("{}{}".format(self.long_name_type(), self._interface_number)):
return self.short_name_type() + "{}".format(self._interface_number)
return self._name

View File

@ -132,6 +132,13 @@ def test_list_ports_port_name_format(node):
assert node.__json__()["ports"][1]["name"] == "eth0/0"
def test_short_name_none():
"""
Test short_name does not raise exception when name is None
"""
assert EthernetPort(None, 0, 0, 0).short_name is None
def test_list_ports_adapters(node):
"""
List port using adapters properties