Skip to content

Commit 22de367

Browse files
gupurushgupurush
authored andcommitted
Added print_vendor tests coverage
1 parent 60399b9 commit 22de367

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

tests/decode_syseeprom_test.py

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ class TestDecodeSyseeprom(object):
140140
def test_print_eeprom_dict(self, capsys):
141141

142142
expected_output = '''\
143-
TlvInfo Header:
143+
TlvInfo Header:
144144
Id String: TlvInfo
145145
Version: 1
146146
Total Length: 170
@@ -217,3 +217,33 @@ def test_support_platforms_not_db_based(self, mockDbBased, mockNotDbBased):
217217
def test_support_platforms_no_eeprom(self, mockDbBased, mockNotDbBased):
218218
ret = decode_syseeprom.main()
219219
assert ret == errno.ENODEV
220+
221+
222+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
223+
def test_print_vendor_eeprom_success(self, mock_instantiate, capsys):
224+
mock_eeprom = mock.MagicMock()
225+
mock_eeprom.vendorstr.return_value = 'MOCK_VENDOR'
226+
mock_instantiate.return_value = mock_eeprom
227+
decode_syseeprom.print_vendor(use_db=False)
228+
captured = capsys.readouterr()
229+
assert captured.out == 'MOCK_VENDOR\n'
230+
231+
232+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
233+
def test_print_vendor_eeprom_none(self, mock_instantiate, capsys):
234+
mock_instantiate.return_value = None
235+
decode_syseeprom.print_vendor(use_db=False)
236+
captured = capsys.readouterr()
237+
assert 'Failed to read system EEPROM info' in captured.out
238+
239+
240+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
241+
def test_print_vendor_typeerror_fallback(self, mock_instantiate, capsys):
242+
mock_eeprom = mock.MagicMock()
243+
# Simulate vendorstr() raising TypeError when called with no args
244+
mock_eeprom.vendorstr.side_effect = [TypeError(), 'FALLBACK_VENDOR']
245+
mock_eeprom.read_eeprom.return_value = 'dummy'
246+
mock_instantiate.return_value = mock_eeprom
247+
decode_syseeprom.print_vendor(use_db=False)
248+
captured = capsys.readouterr()
249+
assert captured.out == 'FALLBACK_VENDOR\n'

0 commit comments

Comments
 (0)