From ffa635dda3278809e5fb7cfb883a1b03dbd24010 Mon Sep 17 00:00:00 2001 From: GeorgianaElena Date: Wed, 13 Feb 2019 14:59:57 +0200 Subject: [PATCH] Fixed tests --- tests/test_config.py | 33 +++++++++++++++++++++++++-------- tests/test_traefik.py | 19 +++++++++++++------ 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/tests/test_config.py b/tests/test_config.py index 811e010..9b1dc1d 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -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,29 +153,44 @@ def test_cli_no_command(capsys): ) def test_cli_set_bool(tljh_dir, arg, value): config.main(["set", "https.enabled", arg]) - cfg = configurer.load_config() + 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"]) - cfg = configurer.load_config() + 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"]) - cfg = configurer.load_config() + with mock.patch( + "tljh.configurer.generate_traefik_api_credentials" + ) as generate_credentials: + cfg = configurer.load_config() assert cfg['foo']['bar'] == [1.25] def test_cli_remove_int(tljh_dir): config.main(["add-item", "foo.bar", "1"]) config.main(["add-item", "foo.bar", "2"]) - cfg = configurer.load_config() + 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"]) - cfg = configurer.load_config() + with mock.patch( + "tljh.configurer.generate_traefik_api_credentials" + ) as generate_credentials: + cfg = configurer.load_config() assert cfg['foo']['bar'] == [2] diff --git a/tests/test_traefik.py b/tests/test_traefik.py index bcb0248..38f4b62 100644 --- a/tests/test_traefik.py +++ b/tests/test_traefik.py @@ -1,5 +1,6 @@ """Test traefik configuration""" import os +import mock import pytoml as toml @@ -17,7 +18,10 @@ def test_download_traefik(tmpdir): def test_default_config(tmpdir, tljh_dir): state_dir = tmpdir.mkdir("state") - traefik.ensure_traefik_config(str(state_dir)) + 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") with open(traefik_toml) as f: @@ -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,7 +56,10 @@ def test_letsencrypt_config(tljh_dir): config.set_config_value( config.CONFIG_FILE, "https.letsencrypt.domains", ["testing.jovyan.org"] ) - traefik.ensure_traefik_config(str(state_dir)) + 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: toml_cfg = f.read() @@ -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,7 +98,10 @@ 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") - traefik.ensure_traefik_config(str(state_dir)) + 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: toml_cfg = f.read() @@ -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"] == {