From 82fcc0bafbdfded4d3f17142de60390e77db3567 Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 4 Dec 2023 14:38:22 +0100 Subject: [PATCH] add test cases --- tests/test_env_resolution.py | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/test_env_resolution.py b/tests/test_env_resolution.py index e192de7..b8086ca 100644 --- a/tests/test_env_resolution.py +++ b/tests/test_env_resolution.py @@ -33,3 +33,41 @@ def test_real_env_files() -> None: dependency_rules: list[DependencyRule] = Coordinator._get_dependency_rules(env_files) sorted_env_files = sort_env_files_by_rule(env_files, dependency_rules) assert sorted_env_files[0].env_type == "authentik" + + +def test_real_env_files_duplicate() -> None: + """authentik should be first""" + + ENV_FILES = [ + Path("envfiles/blog.test.dev.local-it.cloud.env"), # wordpress + Path("envfiles/login.test.dev.local-it.cloud.env"), # authentik + Path("envfiles/login.test.dev.local-it.cloud.env"), # authentik + ] + env_files: list[EnvFile] = Coordinator._getn_env_files_list(ENV_FILES) + dependency_rules: list[DependencyRule] = Coordinator._get_dependency_rules(env_files) + sorted_env_files = sort_env_files_by_rule(env_files, dependency_rules) + assert sorted_env_files[0].env_type == "authentik" + assert sorted_env_files[1].env_type == "authentik" + assert sorted_env_files[2].env_type == "wordpress" + + +def test_real_env_files_duplicate_six() -> None: + """authentik should be first""" + + ENV_FILES = [ + Path("envfiles/blog.test.dev.local-it.cloud.env"), # wordpress + Path("envfiles/login.test.dev.local-it.cloud.env"), # authentik + Path("envfiles/blog.test.dev.local-it.cloud.env"), # wordpress + Path("envfiles/login.test.dev.local-it.cloud.env"), # authentik + Path("envfiles/login.test.dev.local-it.cloud.env"), # authentik + Path("envfiles/blog.test.dev.local-it.cloud.env"), # wordpress + ] + env_files: list[EnvFile] = Coordinator._getn_env_files_list(ENV_FILES) + dependency_rules: list[DependencyRule] = Coordinator._get_dependency_rules(env_files) + sorted_env_files = sort_env_files_by_rule(env_files, dependency_rules) + assert sorted_env_files[0].env_type == "authentik" + assert sorted_env_files[1].env_type == "authentik" + assert sorted_env_files[2].env_type == "authentik" + assert sorted_env_files[3].env_type == "wordpress" + assert sorted_env_files[4].env_type == "wordpress" + assert sorted_env_files[5].env_type == "wordpress"