33import sys
44import textwrap
55from unittest import mock
6- sys .modules ['sonic_platform' ] = mock .MagicMock ()
6+
7+ mock_sonic_platform = mock .MagicMock ()
8+ sys .modules ['sonic_platform' ] = mock_sonic_platform
9+ sys .modules ['sonic_platform.platform' ] = mock_sonic_platform .platform
710
811import pytest
912from click .testing import CliRunner
@@ -184,17 +187,17 @@ class TestShowPlatformBmc(object):
184187 - show platform bmc summary
185188 - show platform bmc eeprom
186189 """
187-
190+
188191 TEST_BMC_EEPROM_INFO = {
189192 'Manufacturer' : 'NVIDIA' ,
190193 'Model' : 'P3809' ,
191194 'PartNumber' : '692-13809-3404-000' ,
192195 'PowerState' : 'On' ,
193196 'SerialNumber' : '1320725102601'
194197 }
195-
198+
196199 TEST_BMC_VERSION = '88.0002.1252'
197-
200+
198201 def test_bmc_summary_regular_output (self ):
199202 """Test 'show platform bmc summary' with regular output"""
200203 expected_output = """\
@@ -212,22 +215,22 @@ def test_bmc_summary_regular_output(self):
212215 self .TEST_BMC_EEPROM_INFO ['PowerState' ],
213216 self .TEST_BMC_VERSION
214217 )
215-
218+
216219 mock_platform = mock .MagicMock ()
217220 mock_chassis = mock .MagicMock ()
218221 mock_bmc = mock .MagicMock ()
219-
222+
220223 mock_platform .get_chassis .return_value = mock_chassis
221224 mock_chassis .get_bmc .return_value = mock_bmc
222225 mock_bmc .get_eeprom .return_value = self .TEST_BMC_EEPROM_INFO
223226 mock_bmc .get_version .return_value = self .TEST_BMC_VERSION
224-
227+
225228 sys .modules ['sonic_platform' ].platform .Platform .return_value = mock_platform
226-
229+
227230 result = CliRunner ().invoke (show .cli .commands ['platform' ].commands ['bmc' ].commands ['summary' ], [])
228231 assert result .exit_code == 0 , result .output
229232 assert result .output == textwrap .dedent (expected_output )
230-
233+
231234 def test_bmc_summary_json_output (self ):
232235 """Test 'show platform bmc summary' with JSON output"""
233236 expected_json = {
@@ -238,23 +241,23 @@ def test_bmc_summary_json_output(self):
238241 'PowerState' : self .TEST_BMC_EEPROM_INFO ['PowerState' ],
239242 'FirmwareVersion' : self .TEST_BMC_VERSION
240243 }
241-
244+
242245 mock_platform = mock .MagicMock ()
243246 mock_chassis = mock .MagicMock ()
244247 mock_bmc = mock .MagicMock ()
245-
248+
246249 mock_platform .get_chassis .return_value = mock_chassis
247250 mock_chassis .get_bmc .return_value = mock_bmc
248251 mock_bmc .get_eeprom .return_value = self .TEST_BMC_EEPROM_INFO
249252 mock_bmc .get_version .return_value = self .TEST_BMC_VERSION
250-
253+
251254 sys .modules ['sonic_platform' ].platform .Platform .return_value = mock_platform
252-
255+
253256 result = CliRunner ().invoke (show .cli .commands ['platform' ].commands ['bmc' ].commands ['summary' ], ['--json' ])
254257 assert result .exit_code == 0 , result .output
255258 output_json = json .loads (result .output )
256259 assert output_json == expected_json
257-
260+
258261 def test_bmc_eeprom_regular_output (self ):
259262 """Test 'show platform bmc eeprom' with regular output"""
260263 expected_output = """\
@@ -270,21 +273,21 @@ def test_bmc_eeprom_regular_output(self):
270273 self .TEST_BMC_EEPROM_INFO ['PowerState' ],
271274 self .TEST_BMC_EEPROM_INFO ['SerialNumber' ]
272275 )
273-
276+
274277 mock_platform = mock .MagicMock ()
275278 mock_chassis = mock .MagicMock ()
276279 mock_bmc = mock .MagicMock ()
277-
280+
278281 mock_platform .get_chassis .return_value = mock_chassis
279282 mock_chassis .get_bmc .return_value = mock_bmc
280283 mock_bmc .get_eeprom .return_value = self .TEST_BMC_EEPROM_INFO
281-
284+
282285 sys .modules ['sonic_platform' ].platform .Platform .return_value = mock_platform
283-
286+
284287 result = CliRunner ().invoke (show .cli .commands ['platform' ].commands ['bmc' ].commands ['eeprom' ], [])
285288 assert result .exit_code == 0 , result .output
286289 assert result .output == textwrap .dedent (expected_output )
287-
290+
288291 def test_bmc_eeprom_json_output (self ):
289292 """Test 'show platform bmc eeprom' with JSON output"""
290293 expected_json = {
@@ -294,17 +297,17 @@ def test_bmc_eeprom_json_output(self):
294297 'PowerState' : self .TEST_BMC_EEPROM_INFO ['PowerState' ],
295298 'SerialNumber' : self .TEST_BMC_EEPROM_INFO ['SerialNumber' ]
296299 }
297-
300+
298301 mock_platform = mock .MagicMock ()
299302 mock_chassis = mock .MagicMock ()
300303 mock_bmc = mock .MagicMock ()
301-
304+
302305 mock_platform .get_chassis .return_value = mock_chassis
303306 mock_chassis .get_bmc .return_value = mock_bmc
304307 mock_bmc .get_eeprom .return_value = self .TEST_BMC_EEPROM_INFO
305-
308+
306309 sys .modules ['sonic_platform' ].platform .Platform .return_value = mock_platform
307-
310+
308311 result = CliRunner ().invoke (show .cli .commands ['platform' ].commands ['bmc' ].commands ['eeprom' ], ['--json' ])
309312 assert result .exit_code == 0 , result .output
310313 output_json = json .loads (result .output )
0 commit comments