Skip to content

Commit 3486a4b

Browse files
committed
Add test for port breakout db config
1 parent 05c832a commit 3486a4b

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

tests/test_config_mgmt.py

+19-11
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,35 @@
1-
import pytest
21
from config.config_mgmt import ConfigMgmt
32
from utilities_common.general import load_module_from_source
43

54
sonic_cfggen = load_module_from_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen')
65

7-
def test_output_to_db_and_mod_config(mocker):
8-
mock_db_data = {
6+
7+
def test_write_configdb_port_breakout(mocker):
8+
9+
mock_port_db = {
910
'PORT': {
10-
'Ethernet0': {'admin_status': 'up'},
11-
'Ethernet4': {'admin_status': 'down'}
11+
'Ethernet80': {'admin_status': 'up'},
12+
'Ethernet82': {'admin_status': 'down'}
1213
}
1314
}
1415

15-
mocker.patch('sonic_cfggen.FormatConverter.output_to_db', return_value=mock_db_data)
16+
mocker.patch('sonic_cfggen.FormatConverter.to_deserialized', return_value={})
17+
18+
mock_output_to_db = mocker.patch('sonic_cfggen.FormatConverter.output_to_db', return_value=mock_port_db)
1619

17-
mock_mod_config = mocker.patch.object(ConfigMgmt, 'mod_config')
20+
mocker.patch('sonic_cfggen.deep_update')
21+
22+
mock_mod_config = mocker.Mock()
1823

1924
cm = ConfigMgmt()
2025
cm.configdb = mocker.Mock()
26+
cm.configdb.mod_config = mock_mod_config
27+
28+
cm.writeConfigDB(jDiff={})
2129

22-
data = {}
23-
cm._ConfigMgmt__process_db_diff(data, {})
30+
mock_output_to_db.assert_called_once()
2431

25-
sonic_cfggen.FormatConverter.output_to_db.assert_called_once()
32+
assert mock_mod_config.call_count == 2
2633

27-
assert mock_mod_config.call_count == 2
34+
mock_mod_config.assert_any_call({'PORT': {'Ethernet80': {'admin_status': 'up'}}})
35+
mock_mod_config.assert_any_call({'PORT': {'Ethernet82': {'admin_status': 'down'}}})

0 commit comments

Comments
 (0)