Add hook for custom jupyterhub_config.py content

This lets extensions directly control how JupyterHub
is configured
This commit is contained in:
yuvipanda
2019-05-31 23:35:08 -07:00
parent 77dc6a0e27
commit b584bd1b2a
4 changed files with 27 additions and 2 deletions

View File

@@ -35,4 +35,8 @@ def tljh_config_post_install(config):
# Put an arbitrary marker we can test for
config['simplest_plugin'] = {
'present': True
}
}
@hookimpl
def tljh_custom_jupyterhub_config(c):
c.JupyterHub.authenticator_class = 'tmpauthenticator.TmpAuthenticator'

View File

@@ -2,6 +2,7 @@
Test simplest plugin
"""
from ruamel.yaml import YAML
import requests
import os
import subprocess
from tljh.config import CONFIG_FILE, USER_ENV_PREFIX, HUB_ENV_PREFIX
@@ -52,3 +53,11 @@ def test_config_hook():
data = yaml.load(f)
assert data['simplest_plugin']['present']
def test_jupyterhub_config_hook():
"""
Test that tmpauthenticator is enabled by our custom config plugin
"""
resp = requests.get('http://localhost/hub/tmplogin', allow_redirects=False)
assert resp.status_code == 302
assert resp.headers['Location'] == '/hub/spawn'