@@ -18,10 +18,14 @@ def test_reload(self, MockInit, MockBusName, MockSystemBus):
1818 mock_run .return_value = res_mock
1919 config_db_json = "{}"
2020 config_stub = config_engine .Config (config_engine .MOD_NAME )
21- ret , msg = config_stub .reload (config_db_json )
22- call_args = mock_run .call_args [0 ][0 ]
23- assert "reload" in call_args
24- assert "/dev/stdin" in call_args
21+ ret , msg = config_stub .reload (config_db_json , "gnmi" )
22+ call_args_list = mock_run .call_args_list
23+ args , _ = call_args_list [0 ]
24+ assert ["/usr/bin/systemctl" , "mask" , "gnmi" ] in args
25+ args , _ = call_args_list [1 ]
26+ assert ["/usr/local/bin/config" , "reload" , "-y" , "/dev/stdin" ] in args
27+ args , _ = call_args_list [2 ]
28+ assert ["/usr/bin/systemctl" , "unmask" , "gnmi" ] in args
2529 assert ret == test_ret , "Return value is wrong"
2630 assert msg == "" , "Return message is wrong"
2731 with mock .patch ("subprocess.run" ) as mock_run :
@@ -33,10 +37,57 @@ def test_reload(self, MockInit, MockBusName, MockSystemBus):
3337 mock_run .return_value = res_mock
3438 config_db_json = "{}"
3539 config_stub = config_engine .Config (config_engine .MOD_NAME )
36- ret , msg = config_stub .reload (config_db_json )
37- call_args = mock_run .call_args [0 ][0 ]
38- assert "reload" in call_args
39- assert "/dev/stdin" in call_args
40+ ret , msg = config_stub .reload (config_db_json , "gnmi" )
41+ call_args_list = mock_run .call_args_list
42+ args , _ = call_args_list [0 ]
43+ assert ["/usr/bin/systemctl" , "mask" , "gnmi" ] in args
44+ args , _ = call_args_list [1 ]
45+ assert ["/usr/local/bin/config" , "reload" , "-y" , "/dev/stdin" ] in args
46+ args , _ = call_args_list [2 ]
47+ assert ["/usr/bin/systemctl" , "unmask" , "gnmi" ] in args
48+ assert ret == test_ret , "Return value is wrong"
49+ assert msg == "Error: this is the test message" , "Return message is wrong"
50+
51+ @mock .patch ("dbus.SystemBus" )
52+ @mock .patch ("dbus.service.BusName" )
53+ @mock .patch ("dbus.service.Object.__init__" )
54+ def test_reload_force (self , MockInit , MockBusName , MockSystemBus ):
55+ with mock .patch ("subprocess.run" ) as mock_run :
56+ res_mock = mock .Mock ()
57+ test_ret = 0
58+ test_msg = b"Error: this is the test message\n Hello world\n "
59+ attrs = {"returncode" : test_ret , "stderr" : test_msg }
60+ res_mock .configure_mock (** attrs )
61+ mock_run .return_value = res_mock
62+ config_db_json = "{}"
63+ config_stub = config_engine .Config (config_engine .MOD_NAME )
64+ ret , msg = config_stub .reload_force (config_db_json , "gnmi" )
65+ call_args_list = mock_run .call_args_list
66+ args , _ = call_args_list [0 ]
67+ assert ["/usr/bin/systemctl" , "mask" , "gnmi" ] in args
68+ args , _ = call_args_list [1 ]
69+ assert ["/usr/local/bin/config" , "reload" , "-y" , "-f" , "/dev/stdin" ] in args
70+ args , _ = call_args_list [2 ]
71+ assert ["/usr/bin/systemctl" , "unmask" , "gnmi" ] in args
72+ assert ret == test_ret , "Return value is wrong"
73+ assert msg == "" , "Return message is wrong"
74+ with mock .patch ("subprocess.run" ) as mock_run :
75+ res_mock = mock .Mock ()
76+ test_ret = 1
77+ test_msg = b"Error: this is the test message\n Hello world\n "
78+ attrs = {"returncode" : test_ret , "stderr" : test_msg }
79+ res_mock .configure_mock (** attrs )
80+ mock_run .return_value = res_mock
81+ config_db_json = "{}"
82+ config_stub = config_engine .Config (config_engine .MOD_NAME )
83+ ret , msg = config_stub .reload_force (config_db_json , "gnmi" )
84+ call_args_list = mock_run .call_args_list
85+ args , _ = call_args_list [0 ]
86+ assert ["/usr/bin/systemctl" , "mask" , "gnmi" ] in args
87+ args , _ = call_args_list [1 ]
88+ assert ["/usr/local/bin/config" , "reload" , "-y" , "-f" , "/dev/stdin" ] in args
89+ args , _ = call_args_list [2 ]
90+ assert ["/usr/bin/systemctl" , "unmask" , "gnmi" ] in args
4091 assert ret == test_ret , "Return value is wrong"
4192 assert msg == "Error: this is the test message" , "Return message is wrong"
4293
0 commit comments