Skip to content

Commit 9dc1278

Browse files
gupurushgupurush
authored andcommitted
Added print_vendor tests coverage
1 parent 60399b9 commit 9dc1278

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tests/decode_syseeprom_test.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,3 +217,30 @@ 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+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
222+
def test_print_vendor_eeprom_success(self, mock_instantiate, capsys):
223+
mock_eeprom = mock.MagicMock()
224+
mock_eeprom.vendorstr.return_value = 'MOCK_VENDOR'
225+
mock_instantiate.return_value = mock_eeprom
226+
decode_syseeprom.print_vendor(use_db=False)
227+
captured = capsys.readouterr()
228+
assert captured.out == 'MOCK_VENDOR\n'
229+
230+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
231+
def test_print_vendor_eeprom_none(self, mock_instantiate, capsys):
232+
mock_instantiate.return_value = None
233+
decode_syseeprom.print_vendor(use_db=False)
234+
captured = capsys.readouterr()
235+
assert 'Failed to read system EEPROM info' in captured.out
236+
237+
@mock.patch('decode_syseeprom.instantiate_eeprom_object')
238+
def test_print_vendor_typeerror_fallback(self, mock_instantiate, capsys):
239+
mock_eeprom = mock.MagicMock()
240+
# Simulate vendorstr() raising TypeError when called with no args
241+
mock_eeprom.vendorstr.side_effect = [TypeError(), 'FALLBACK_VENDOR']
242+
mock_eeprom.read_eeprom.return_value = 'dummy'
243+
mock_instantiate.return_value = mock_eeprom
244+
decode_syseeprom.print_vendor(use_db=False)
245+
captured = capsys.readouterr()
246+
assert captured.out == 'FALLBACK_VENDOR\n'

0 commit comments

Comments
 (0)