@@ -167,21 +167,21 @@ def test_round_trip(self):
167
167
cfg = ('plugins:\n ' +
168
168
' - foo:\n option: !relative $config_dir\n ' +
169
169
' - bar:\n option: !ENV variable\n ' +
170
- ' - baz:\n option: !ENV [variable, default]'
171
- )
170
+ ' - baz:\n option: !ENV [variable, default]' )
172
171
with mock .patch ('builtins.open' ,
173
172
mock_open_files ({'mkdocs.yml' : cfg })), \
174
173
mock .patch ('mike.mkdocs_utils.NamedTemporaryFile' ,
175
174
return_value = self .out ), \
176
- mock .patch ('os.remove' ) as mremove :
175
+ mock .patch ('os.remove' ) as mremove , \
176
+ mock .patch .dict (os .environ , {'variable' : 'mock_val' }, clear = True ):
177
177
with mkdocs_utils .inject_plugin ('mkdocs.yml' ) as f :
178
178
self .assertEqual (f , self .out .name )
179
179
mremove .assert_called_once ()
180
180
181
181
expected = ('plugins:\n - mike\n ' +
182
182
"- foo:\n option: !relative '$config_dir'\n " +
183
- " - bar:\n option: !ENV 'variable' \n "
184
- '- baz:\n option: !ENV [variable, default] \n ' )
183
+ ' - bar:\n option: mock_val \n '
184
+ '- baz:\n option: mock_val \n ' )
185
185
self .assertEqual (self .out .getvalue (), expected )
186
186
187
187
def test_python_tag (self ):
@@ -224,6 +224,30 @@ def test_inherit(self):
224
224
[('mike' , {}), ('bar' , {}), ('foo' , {})]
225
225
)
226
226
227
+ def test_inherit_env (self ):
228
+ main_cfg = 'INHERIT: !ENV base_file\n plugins:\n foo: {}\n '
229
+ base_cfg = 'plugins:\n bar: {}\n '
230
+ files = {'mkdocs.yml' : main_cfg , 'mkdocs-base.yml' : base_cfg }
231
+ with mock .patch ('builtins.open' , mock_open_files (files )), \
232
+ mock .patch ('mike.mkdocs_utils.NamedTemporaryFile' ,
233
+ return_value = self .out ), \
234
+ mock .patch ('os.path.exists' , return_value = True ), \
235
+ mock .patch ('os.remove' ) as mremove , \
236
+ mock .patch .dict (os .environ , {'base_file' : 'mkdocs-base.yml' },
237
+ clear = True ):
238
+ with mkdocs_utils .inject_plugin ('mkdocs.yml' ) as f :
239
+ self .assertEqual (f , 'mike-mkdocs.yml' )
240
+ newcfg = yaml .safe_load (self .out .getvalue ())
241
+ mremove .assert_called_once ()
242
+
243
+ self .assertEqual (newcfg , {'plugins' : {
244
+ 'mike' : {}, 'bar' : {}, 'foo' : {},
245
+ }})
246
+ self .assertEqual (
247
+ list (newcfg ['plugins' ].items ()),
248
+ [('mike' , {}), ('bar' , {}), ('foo' , {})]
249
+ )
250
+
227
251
228
252
class TestBuild (unittest .TestCase ):
229
253
def test_build (self ):
0 commit comments