Fixed tests

This commit is contained in:
GeorgianaElena
2019-02-13 14:59:57 +02:00
parent e8b303d01b
commit ffa635dda3
2 changed files with 38 additions and 14 deletions

View File

@@ -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]

View File

@@ -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"] == {