mirror of
https://github.com/jupyterhub/the-littlest-jupyterhub.git
synced 2025-12-18 21:54:05 +08:00
Fixed tests
This commit is contained in:
@@ -126,9 +126,11 @@ def test_reload_hub():
|
||||
|
||||
|
||||
def test_reload_proxy(tljh_dir):
|
||||
with mock.patch('tljh.systemd.restart_service') as restart_service, mock.patch(
|
||||
'tljh.systemd.check_service_active'
|
||||
) as check_active:
|
||||
with mock.patch("tljh.systemd.restart_service") as restart_service, mock.patch(
|
||||
"tljh.systemd.check_service_active"
|
||||
) as check_active, mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
config.reload_component('proxy')
|
||||
assert restart_service.called_with('traefik')
|
||||
assert check_active.called_with('traefik')
|
||||
@@ -151,18 +153,27 @@ def test_cli_no_command(capsys):
|
||||
)
|
||||
def test_cli_set_bool(tljh_dir, arg, value):
|
||||
config.main(["set", "https.enabled", arg])
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
cfg = configurer.load_config()
|
||||
assert cfg['https']['enabled'] == value
|
||||
|
||||
|
||||
def test_cli_set_int(tljh_dir):
|
||||
config.main(["set", "https.port", "123"])
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
cfg = configurer.load_config()
|
||||
assert cfg['https']['port'] == 123
|
||||
|
||||
|
||||
def test_cli_add_float(tljh_dir):
|
||||
config.main(["add-item", "foo.bar", "1.25"])
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
cfg = configurer.load_config()
|
||||
assert cfg['foo']['bar'] == [1.25]
|
||||
|
||||
@@ -170,9 +181,15 @@ def test_cli_add_float(tljh_dir):
|
||||
def test_cli_remove_int(tljh_dir):
|
||||
config.main(["add-item", "foo.bar", "1"])
|
||||
config.main(["add-item", "foo.bar", "2"])
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
cfg = configurer.load_config()
|
||||
assert cfg['foo']['bar'] == [1, 2]
|
||||
config.main(["remove-item", "foo.bar", "1"])
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
cfg = configurer.load_config()
|
||||
assert cfg['foo']['bar'] == [2]
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"""Test traefik configuration"""
|
||||
import os
|
||||
import mock
|
||||
|
||||
import pytoml as toml
|
||||
|
||||
@@ -17,6 +18,9 @@ def test_download_traefik(tmpdir):
|
||||
|
||||
def test_default_config(tmpdir, tljh_dir):
|
||||
state_dir = tmpdir.mkdir("state")
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
traefik.ensure_traefik_config(str(state_dir))
|
||||
assert state_dir.join("traefik.toml").exists()
|
||||
traefik_toml = os.path.join(state_dir, "traefik.toml")
|
||||
@@ -28,7 +32,6 @@ def test_default_config(tmpdir, tljh_dir):
|
||||
cfg = toml.loads(toml_cfg)
|
||||
assert cfg["defaultEntryPoints"] == ["http"]
|
||||
assert len(cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"]) == 1
|
||||
assert cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"][0].startswith("api_admin")
|
||||
# runtime generated entry, value not testable
|
||||
cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"] = [""]
|
||||
|
||||
@@ -53,6 +56,9 @@ def test_letsencrypt_config(tljh_dir):
|
||||
config.set_config_value(
|
||||
config.CONFIG_FILE, "https.letsencrypt.domains", ["testing.jovyan.org"]
|
||||
)
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
traefik.ensure_traefik_config(str(state_dir))
|
||||
traefik_toml = os.path.join(state_dir, "traefik.toml")
|
||||
with open(traefik_toml) as f:
|
||||
@@ -64,7 +70,6 @@ def test_letsencrypt_config(tljh_dir):
|
||||
assert cfg["defaultEntryPoints"] == ["http", "https"]
|
||||
assert "acme" in cfg
|
||||
assert len(cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"]) == 1
|
||||
assert cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"][0].startswith("api_admin")
|
||||
# runtime generated entry, value not testable
|
||||
cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"] = [""]
|
||||
|
||||
@@ -93,6 +98,9 @@ def test_manual_ssl_config(tljh_dir):
|
||||
config.set_config_value(config.CONFIG_FILE, "https.enabled", True)
|
||||
config.set_config_value(config.CONFIG_FILE, "https.tls.key", "/path/to/ssl.key")
|
||||
config.set_config_value(config.CONFIG_FILE, "https.tls.cert", "/path/to/ssl.cert")
|
||||
with mock.patch(
|
||||
"tljh.configurer.generate_traefik_api_credentials"
|
||||
) as generate_credentials:
|
||||
traefik.ensure_traefik_config(str(state_dir))
|
||||
traefik_toml = os.path.join(state_dir, "traefik.toml")
|
||||
with open(traefik_toml) as f:
|
||||
@@ -104,7 +112,6 @@ def test_manual_ssl_config(tljh_dir):
|
||||
assert cfg["defaultEntryPoints"] == ["http", "https"]
|
||||
assert "acme" not in cfg
|
||||
assert len(cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"]) == 1
|
||||
assert cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"][0].startswith("api_admin")
|
||||
# runtime generated entry, value not testable
|
||||
cfg["entryPoints"]["auth_api"]["auth"]["basic"]["users"] = [""]
|
||||
assert cfg["entryPoints"] == {
|
||||
|
||||
Reference in New Issue
Block a user