1
1
from collections import OrderedDict
2
2
3
3
import pytest
4
+
5
+ try :
6
+ from jupyter_core .paths import prefer_environment_over_user
7
+ except ImportError :
8
+ prefer_environment_over_user = None
9
+
4
10
from traitlets .tests .utils import check_help_all_output
5
11
6
12
from jupyter_server .config_manager import BaseJSONConfigManager
@@ -43,6 +49,7 @@ def test_disable(jp_env_config_path, jp_extension_environ):
43
49
assert not config ["mock1" ]
44
50
45
51
52
+ @pytest .mark .skipif (prefer_environment_over_user is None , reason = "Requires jupyter_core 5.0+" )
46
53
def test_merge_config (jp_env_config_path , jp_configurable_serverapp , jp_extension_environ ):
47
54
# Toggle each extension module with a JSON config file
48
55
# at the sys-prefix config dir.
@@ -62,12 +69,12 @@ def test_merge_config(jp_env_config_path, jp_configurable_serverapp, jp_extensio
62
69
# when these two configs merge.
63
70
toggle_server_extension_python (
64
71
"tests.extension.mockextensions.mockext_both" ,
65
- enabled = True ,
72
+ enabled = False ,
66
73
sys_prefix = True ,
67
74
)
68
75
toggle_server_extension_python (
69
76
"tests.extension.mockextensions.mockext_both" ,
70
- enabled = False ,
77
+ enabled = True ,
71
78
user = True ,
72
79
)
73
80
@@ -82,7 +89,8 @@ def test_merge_config(jp_env_config_path, jp_configurable_serverapp, jp_extensio
82
89
assert extensions ["tests.extension.mockextensions.mockext_sys" ]
83
90
assert extensions ["tests.extension.mockextensions.mockext_py" ]
84
91
# Merging should causes this extension to be disabled.
85
- assert not extensions ["tests.extension.mockextensions.mockext_both" ]
92
+ if prefer_environment_over_user ():
93
+ assert not extensions ["tests.extension.mockextensions.mockext_both" ]
86
94
87
95
88
96
@pytest .mark .parametrize (
0 commit comments