1
- import pytest
2
1
from config .config_mgmt import ConfigMgmt
3
2
from utilities_common .general import load_module_from_source
4
3
5
4
sonic_cfggen = load_module_from_source ('sonic_cfggen' , '/usr/local/bin/sonic-cfggen' )
6
5
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 = {
9
10
'PORT' : {
10
- 'Ethernet0 ' : {'admin_status' : 'up' },
11
- 'Ethernet4 ' : {'admin_status' : 'down' }
11
+ 'Ethernet80 ' : {'admin_status' : 'up' },
12
+ 'Ethernet82 ' : {'admin_status' : 'down' }
12
13
}
13
14
}
14
15
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 )
16
19
17
- mock_mod_config = mocker .patch .object (ConfigMgmt , 'mod_config' )
20
+ mocker .patch ('sonic_cfggen.deep_update' )
21
+
22
+ mock_mod_config = mocker .Mock ()
18
23
19
24
cm = ConfigMgmt ()
20
25
cm .configdb = mocker .Mock ()
26
+ cm .configdb .mod_config = mock_mod_config
27
+
28
+ cm .writeConfigDB (jDiff = {})
21
29
22
- data = {}
23
- cm ._ConfigMgmt__process_db_diff (data , {})
30
+ mock_output_to_db .assert_called_once ()
24
31
25
- sonic_cfggen . FormatConverter . output_to_db . assert_called_once ()
32
+ assert mock_mod_config . call_count == 2
26
33
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