""" Unit test functions in installer.py """ import os import pytest from tljh import installer from tljh.yaml import yaml def test_ensure_node(): installer.ensure_node() assert os.path.exists('/usr/bin/node') def test_ensure_config_yaml(tljh_dir): pm = installer.setup_plugins() installer.ensure_config_yaml(pm) assert os.path.exists(installer.CONFIG_FILE) assert os.path.isdir(installer.CONFIG_DIR) assert os.path.isdir(os.path.join(installer.CONFIG_DIR, 'jupyterhub_config.d')) # verify that old config doesn't exist assert not os.path.exists(os.path.join(tljh_dir, 'config.yaml')) @pytest.mark.parametrize( "admins, expected_config", [ ([['a1'], ['a2'], ['a3']], ['a1', 'a2', 'a3']), ([['a1:p1'], ['a2']], ['a1', 'a2']), ], ) def test_ensure_admins(tljh_dir, admins, expected_config): # --admin option called multiple times on the installer # creates a list of argument lists. 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'] == expected_config