Skip to content

Commit 0ed0f2f

Browse files
committed
Add test for port breakout db config
1 parent 05c832a commit 0ed0f2f

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

tests/test_config_mgmt.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,32 @@
44

55
sonic_cfggen = load_module_from_source('sonic_cfggen', '/usr/local/bin/sonic-cfggen')
66

7-
def test_output_to_db_and_mod_config(mocker):
8-
mock_db_data = {
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)