From c357778368e9e1c6ac205cdb2b6432067785b3cf Mon Sep 17 00:00:00 2001 From: Kevin Bates <kbates4@gmail.com> Date: Fri, 18 Sep 2020 08:34:29 -0700 Subject: [PATCH] Fix setup of nbconvert templates --- jupyter_server/pytest_plugin.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/jupyter_server/pytest_plugin.py b/jupyter_server/pytest_plugin.py index 05c2000c2f..00aea6bd71 100644 --- a/jupyter_server/pytest_plugin.py +++ b/jupyter_server/pytest_plugin.py @@ -1,6 +1,7 @@ import os import sys import json +import shutil import pytest import asyncio from binascii import hexlify @@ -71,7 +72,6 @@ def mkdir(tmp_path, *parts): } argv = pytest.fixture(lambda: []) - @pytest.fixture def environ( monkeypatch, @@ -88,6 +88,18 @@ def environ( ): monkeypatch.setenv("HOME", str(home_dir)) monkeypatch.setenv("PYTHONPATH", os.pathsep.join(sys.path)) + + # Get path to nbconvert template directory *before* + # monkeypatching the paths env variable. + possible_paths = jupyter_core.paths.jupyter_path('nbconvert', 'templates') + nbconvert_path = None + for path in possible_paths: + if os.path.exists(path): + nbconvert_path = path + break + + nbconvert_target = data_dir / 'nbconvert' / 'templates' + # monkeypatch.setenv("JUPYTER_NO_CONFIG", "1") monkeypatch.setenv("JUPYTER_CONFIG_DIR", str(config_dir)) monkeypatch.setenv("JUPYTER_DATA_DIR", str(data_dir)) @@ -101,6 +113,10 @@ def environ( ) monkeypatch.setattr(jupyter_core.paths, "ENV_CONFIG_PATH", [str(env_config_path)]) + # copy nbconvert templates to new tmp data_dir. + if nbconvert_path: + shutil.copytree(nbconvert_path, str(nbconvert_target)) + @pytest.fixture def extension_environ(env_config_path, monkeypatch):