30
30
31
31
import pytest
32
32
import requests
33
- from mockito import verify , patch , spy2 , mock , ANY , when
33
+ from mockito import verify , patch , spy2 , mock , ANY , when , unstub
34
34
35
35
import opengrok_tools .mirror
36
36
from conftest import posix_only , system_binary
@@ -240,7 +240,8 @@ def test_disabled_command_run():
240
240
241
241
242
242
@pytest .mark .parametrize ("hook_type" , [HOOK_PRE_PROPERTY , HOOK_POST_PROPERTY ])
243
- def test_ignore_errors (monkeypatch , hook_type ):
243
+ @pytest .mark .parametrize ("per_project" , [True , False ])
244
+ def test_ignore_errors (monkeypatch , hook_type , per_project ):
244
245
"""
245
246
Test that per project ignore errors property overrides failed hook.
246
247
"""
@@ -252,13 +253,22 @@ def mock_get_repos(*args, **kwargs):
252
253
project_name = "foo"
253
254
hook_dir = "/befelemepeseveze"
254
255
hook_name = "nonexistent"
255
- config = {
256
- HOOKDIR_PROPERTY : hook_dir ,
257
- PROJECTS_PROPERTY : {
258
- project_name : {IGNORE_ERR_PROPERTY : True ,
259
- HOOKS_PROPERTY : {hook_type : hook_name }}
256
+ if per_project :
257
+ config = {
258
+ HOOKDIR_PROPERTY : hook_dir ,
259
+ PROJECTS_PROPERTY : {
260
+ project_name : {IGNORE_ERR_PROPERTY : True ,
261
+ HOOKS_PROPERTY : {hook_type : hook_name }}
262
+ }
263
+ }
264
+ else :
265
+ config = {
266
+ IGNORE_ERR_PROPERTY : True ,
267
+ HOOKDIR_PROPERTY : hook_dir ,
268
+ PROJECTS_PROPERTY : {
269
+ project_name : {HOOKS_PROPERTY : {hook_type : hook_name }}
270
+ }
260
271
}
261
- }
262
272
263
273
with monkeypatch .context () as m :
264
274
mock_get_repos .called = False
@@ -271,6 +281,9 @@ def mock_get_repos(*args, **kwargs):
271
281
verify (opengrok_tools .utils .mirror ).\
272
282
process_hook (hook_type , os .path .join (hook_dir , hook_name ),
273
283
src_root , project_name , None , None )
284
+ # Necessary to disable the process_hook spy otherwise mockito will
285
+ # complain about recursive invocation.
286
+ unstub ()
274
287
275
288
276
289
def test_disabled_command_run_args ():
0 commit comments