mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
Merge pull request #399 from GeorgianaElena/add_append_to_arg
Allow adding multiple admins during install
This commit is contained in:
@@ -4,6 +4,7 @@ Unit test functions in installer.py
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from tljh import installer
|
from tljh import installer
|
||||||
|
from tljh.yaml import yaml
|
||||||
|
|
||||||
|
|
||||||
def test_ensure_node():
|
def test_ensure_node():
|
||||||
@@ -19,3 +20,16 @@ def test_ensure_config_yaml(tljh_dir):
|
|||||||
assert os.path.isdir(os.path.join(installer.CONFIG_DIR, 'jupyterhub_config.d'))
|
assert os.path.isdir(os.path.join(installer.CONFIG_DIR, 'jupyterhub_config.d'))
|
||||||
# verify that old config doesn't exist
|
# verify that old config doesn't exist
|
||||||
assert not os.path.exists(os.path.join(tljh_dir, 'config.yaml'))
|
assert not os.path.exists(os.path.join(tljh_dir, 'config.yaml'))
|
||||||
|
|
||||||
|
def test_ensure_admins(tljh_dir):
|
||||||
|
# --admin option called multiple times on the installer
|
||||||
|
# creates a list of argument lists.
|
||||||
|
admins = [['a1'], ['a2'], ['a3']]
|
||||||
|
installer.ensure_admins(admins)
|
||||||
|
|
||||||
|
config_path = installer.CONFIG_FILE
|
||||||
|
with open(config_path, 'r') as f:
|
||||||
|
config = yaml.load(f)
|
||||||
|
|
||||||
|
# verify the list was flattened
|
||||||
|
assert config['users']['admin'] == ['a1', 'a2', 'a3']
|
||||||
|
|||||||
@@ -286,7 +286,9 @@ def ensure_admins(admins):
|
|||||||
config = {}
|
config = {}
|
||||||
|
|
||||||
config['users'] = config.get('users', {})
|
config['users'] = config.get('users', {})
|
||||||
config['users']['admin'] = list(admins)
|
# Flatten admin lists
|
||||||
|
config['users']['admin'] = [admin for admin_sublist in admins
|
||||||
|
for admin in admin_sublist]
|
||||||
|
|
||||||
with open(config_path, 'w+') as f:
|
with open(config_path, 'w+') as f:
|
||||||
yaml.dump(config, f)
|
yaml.dump(config, f)
|
||||||
@@ -440,6 +442,7 @@ def main():
|
|||||||
argparser.add_argument(
|
argparser.add_argument(
|
||||||
'--admin',
|
'--admin',
|
||||||
nargs='*',
|
nargs='*',
|
||||||
|
action='append',
|
||||||
help='List of usernames set to be admin'
|
help='List of usernames set to be admin'
|
||||||
)
|
)
|
||||||
argparser.add_argument(
|
argparser.add_argument(
|
||||||
|
|||||||
Reference in New Issue
Block a user