Skip to content

Commit 452f9ae

Browse files
committed
http-api: T9130: scope test dep stubs to configsession import
sys.modules setdefault leaked MagicMock for requests/psutil/protobuf into later nose2 tests. patch.dict only while importing ConfigSession and restore afterward; keep modules that were already loaded.
1 parent e0eb7c6 commit 452f9ae

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

src/tests/test_configsession_session_recover.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
from unittest.mock import MagicMock
2323
from unittest.mock import patch
2424

25-
# Host checkouts (macOS/dev) may lack VyOS packaging deps; stub before import.
26-
for _mod in (
25+
# Host checkouts (macOS/dev) may lack VyOS packaging deps; stub only while
26+
# importing configsession so later nose2 tests see real modules.
27+
_stub_modules = (
2728
'cracklib',
2829
'requests',
2930
'psutil',
@@ -35,11 +36,16 @@
3536
'vyos.proto',
3637
'vyos.proto.vyconf_pb2',
3738
'vyos.proto.vyconf_client',
38-
):
39-
sys.modules.setdefault(_mod, MagicMock())
40-
41-
from vyos.configsession import ConfigSession
42-
from vyos.configsession import ConfigSessionError
39+
)
40+
_missing_stubs = {
41+
module: MagicMock()
42+
for module in _stub_modules
43+
if module not in sys.modules
44+
}
45+
46+
with patch.dict(sys.modules, _missing_stubs):
47+
from vyos.configsession import ConfigSession
48+
from vyos.configsession import ConfigSessionError
4349

4450

4551
def _make_session_stub() -> ConfigSession:

0 commit comments

Comments
 (0)