@@ -177,19 +177,21 @@ def test_main_default_behavior(tmp_path, monkeypatch):
177177 # Mock command line arguments
178178 test_args = ["-c" , str (config_file )]
179179
180+ import sys
181+
182+ main_module = sys .modules ["mxdev.main" ]
183+
180184 with (
181185 patch ("sys.argv" , ["mxdev" ] + test_args ),
182- patch ( "mxdev.main. load_hooks" , return_value = []),
183- patch ( "mxdev.main. read" ) as mock_read ,
184- patch ( "mxdev.main. read_hooks" ) as mock_read_hooks ,
185- patch ( "mxdev.main. fetch" ) as mock_fetch ,
186- patch ( "mxdev.main. write" ) as mock_write ,
187- patch ( "mxdev.main. write_hooks" ) as mock_write_hooks ,
188- patch ( "mxdev.main. setup_logger" ) as mock_setup_logger ,
186+ patch . object ( main_module , " load_hooks" , return_value = []),
187+ patch . object ( main_module , " read" ) as mock_read ,
188+ patch . object ( main_module , " read_hooks" ) as mock_read_hooks ,
189+ patch . object ( main_module , " fetch" ) as mock_fetch ,
190+ patch . object ( main_module , " write" ) as mock_write ,
191+ patch . object ( main_module , " write_hooks" ) as mock_write_hooks ,
192+ patch . object ( main_module , " setup_logger" ) as mock_setup_logger ,
189193 ):
190- from mxdev .main import main
191-
192- main ()
194+ main_module .main ()
193195
194196 # Verify logger was set up with INFO level (default)
195197 mock_setup_logger .assert_called_once_with (logging .INFO )
@@ -218,19 +220,21 @@ def test_main_verbose_flag(tmp_path, monkeypatch):
218220
219221 test_args = ["-c" , str (config_file ), "--verbose" ]
220222
223+ import sys
224+
225+ main_module = sys .modules ["mxdev.main" ]
226+
221227 with (
222228 patch ("sys.argv" , ["mxdev" ] + test_args ),
223- patch ( "mxdev.main. load_hooks" , return_value = []),
224- patch ( "mxdev.main. read" ),
225- patch ( "mxdev.main. read_hooks" ),
226- patch ( "mxdev.main. fetch" ),
227- patch ( "mxdev.main. write" ),
228- patch ( "mxdev.main. write_hooks" ),
229- patch ( "mxdev.main. setup_logger" ) as mock_setup_logger ,
229+ patch . object ( main_module , " load_hooks" , return_value = []),
230+ patch . object ( main_module , " read" ),
231+ patch . object ( main_module , " read_hooks" ),
232+ patch . object ( main_module , " fetch" ),
233+ patch . object ( main_module , " write" ),
234+ patch . object ( main_module , " write_hooks" ),
235+ patch . object ( main_module , " setup_logger" ) as mock_setup_logger ,
230236 ):
231- from mxdev .main import main
232-
233- main ()
237+ main_module .main ()
234238
235239 # Verify logger was set up with INFO level when verbose flag is used
236240 mock_setup_logger .assert_called_once_with (logging .INFO )
@@ -252,19 +256,21 @@ def test_main_silent_flag(tmp_path, monkeypatch):
252256
253257 test_args = ["-c" , str (config_file ), "--silent" ]
254258
259+ import sys
260+
261+ main_module = sys .modules ["mxdev.main" ]
262+
255263 with (
256264 patch ("sys.argv" , ["mxdev" ] + test_args ),
257- patch ( "mxdev.main. load_hooks" , return_value = []),
258- patch ( "mxdev.main. read" ),
259- patch ( "mxdev.main. read_hooks" ),
260- patch ( "mxdev.main. fetch" ),
261- patch ( "mxdev.main. write" ),
262- patch ( "mxdev.main. write_hooks" ),
263- patch ( "mxdev.main. setup_logger" ) as mock_setup_logger ,
265+ patch . object ( main_module , " load_hooks" , return_value = []),
266+ patch . object ( main_module , " read" ),
267+ patch . object ( main_module , " read_hooks" ),
268+ patch . object ( main_module , " fetch" ),
269+ patch . object ( main_module , " write" ),
270+ patch . object ( main_module , " write_hooks" ),
271+ patch . object ( main_module , " setup_logger" ) as mock_setup_logger ,
264272 ):
265- from mxdev .main import main
266-
267- main ()
273+ main_module .main ()
268274
269275 # Verify logger was set up with WARNING level when silent flag is used
270276 mock_setup_logger .assert_called_once_with (logging .WARNING )
@@ -285,19 +291,21 @@ def test_main_offline_flag(tmp_path, monkeypatch):
285291
286292 test_args = ["-c" , str (config_file ), "--offline" ]
287293
294+ import sys
295+
296+ main_module = sys .modules ["mxdev.main" ]
297+
288298 with (
289299 patch ("sys.argv" , ["mxdev" ] + test_args ),
290- patch ( "mxdev.main. load_hooks" , return_value = []),
291- patch ( "mxdev.main. read" ),
292- patch ( "mxdev.main. read_hooks" ),
293- patch ( "mxdev.main. fetch" ) as mock_fetch ,
294- patch ( "mxdev.main. write" ),
295- patch ( "mxdev.main. write_hooks" ),
296- patch ( "mxdev.main. setup_logger" ),
300+ patch . object ( main_module , " load_hooks" , return_value = []),
301+ patch . object ( main_module , " read" ),
302+ patch . object ( main_module , " read_hooks" ),
303+ patch . object ( main_module , " fetch" ) as mock_fetch ,
304+ patch . object ( main_module , " write" ),
305+ patch . object ( main_module , " write_hooks" ),
306+ patch . object ( main_module , " setup_logger" ),
297307 ):
298- from mxdev .main import main
299-
300- main ()
308+ main_module .main ()
301309
302310 # Verify fetch was NOT called when offline flag is used
303311 assert not mock_fetch .called
@@ -317,20 +325,22 @@ def test_main_threads_flag(tmp_path, monkeypatch):
317325
318326 test_args = ["-c" , str (config_file ), "--threads" , "8" ]
319327
328+ import sys
329+
330+ main_module = sys .modules ["mxdev.main" ]
331+
320332 with (
321333 patch ("sys.argv" , ["mxdev" ] + test_args ),
322- patch ( "mxdev.main. load_hooks" , return_value = []),
323- patch ( "mxdev.main. Configuration" ) as mock_config ,
324- patch ( "mxdev.main. read" ),
325- patch ( "mxdev.main. read_hooks" ),
326- patch ( "mxdev.main. fetch" ),
327- patch ( "mxdev.main. write" ),
328- patch ( "mxdev.main. write_hooks" ),
329- patch ( "mxdev.main. setup_logger" ),
334+ patch . object ( main_module , " load_hooks" , return_value = []),
335+ patch . object ( main_module , " Configuration" ) as mock_config ,
336+ patch . object ( main_module , " read" ),
337+ patch . object ( main_module , " read_hooks" ),
338+ patch . object ( main_module , " fetch" ),
339+ patch . object ( main_module , " write" ),
340+ patch . object ( main_module , " write_hooks" ),
341+ patch . object ( main_module , " setup_logger" ),
330342 ):
331- from mxdev .main import main
332-
333- main ()
343+ main_module .main ()
334344
335345 # Verify Configuration was called with threads override
336346 mock_config .assert_called_once ()
@@ -353,19 +363,21 @@ def test_main_no_fetch_flag(tmp_path, monkeypatch):
353363
354364 test_args = ["-c" , str (config_file ), "--no-fetch" ]
355365
366+ import sys
367+
368+ main_module = sys .modules ["mxdev.main" ]
369+
356370 with (
357371 patch ("sys.argv" , ["mxdev" ] + test_args ),
358- patch ( "mxdev.main. load_hooks" , return_value = []),
359- patch ( "mxdev.main. read" ),
360- patch ( "mxdev.main. read_hooks" ),
361- patch ( "mxdev.main. fetch" ) as mock_fetch ,
362- patch ( "mxdev.main. write" ),
363- patch ( "mxdev.main. write_hooks" ),
364- patch ( "mxdev.main. setup_logger" ),
372+ patch . object ( main_module , " load_hooks" , return_value = []),
373+ patch . object ( main_module , " read" ),
374+ patch . object ( main_module , " read_hooks" ),
375+ patch . object ( main_module , " fetch" ) as mock_fetch ,
376+ patch . object ( main_module , " write" ),
377+ patch . object ( main_module , " write_hooks" ),
378+ patch . object ( main_module , " setup_logger" ),
365379 ):
366- from mxdev .main import main
367-
368- main ()
380+ main_module .main ()
369381
370382 # Verify fetch was NOT called when no-fetch flag is used
371383 assert not mock_fetch .called
@@ -385,19 +397,21 @@ def test_main_fetch_only_flag(tmp_path, monkeypatch):
385397
386398 test_args = ["-c" , str (config_file ), "--fetch-only" ]
387399
400+ import sys
401+
402+ main_module = sys .modules ["mxdev.main" ]
403+
388404 with (
389405 patch ("sys.argv" , ["mxdev" ] + test_args ),
390- patch ( "mxdev.main. load_hooks" , return_value = []),
391- patch ( "mxdev.main. read" ),
392- patch ( "mxdev.main. read_hooks" ) as mock_read_hooks ,
393- patch ( "mxdev.main. fetch" ),
394- patch ( "mxdev.main. write" ) as mock_write ,
395- patch ( "mxdev.main. write_hooks" ) as mock_write_hooks ,
396- patch ( "mxdev.main. setup_logger" ),
406+ patch . object ( main_module , " load_hooks" , return_value = []),
407+ patch . object ( main_module , " read" ),
408+ patch . object ( main_module , " read_hooks" ) as mock_read_hooks ,
409+ patch . object ( main_module , " fetch" ),
410+ patch . object ( main_module , " write" ) as mock_write ,
411+ patch . object ( main_module , " write_hooks" ) as mock_write_hooks ,
412+ patch . object ( main_module , " setup_logger" ),
397413 ):
398- from mxdev .main import main
399-
400- main ()
414+ main_module .main ()
401415
402416 # Verify read_hooks was NOT called
403417 assert not mock_read_hooks .called
0 commit comments