add missing key assertion in _get_dependency_rules and add test case
This commit is contained in:
parent
88d466c745
commit
290b3f879a
2 changed files with 15 additions and 0 deletions
|
|
@ -44,6 +44,7 @@ class EnvManager:
|
|||
def _get_dependency_rules(env_files: list[EnvFile], RUNNER_DICT: dict[str, type["Runner"]]) -> list[DependencyRule]:
|
||||
dependency_rules: list[DependencyRule] = []
|
||||
for env_file in env_files:
|
||||
assert env_file.env_type in RUNNER_DICT, f"no runner for env_type={env_file.env_type} found in RUNNER_DICT"
|
||||
child_runner_class = RUNNER_DICT[env_file.env_type]
|
||||
for dependency in child_runner_class.dependencies:
|
||||
dependency_rule = DependencyRule(child=child_runner_class.env_type, dependency=dependency)
|
||||
|
|
|
|||
|
|
@ -102,3 +102,17 @@ def test_env_manager() -> None:
|
|||
assert ENV.env_files[0].env_type == "authentik"
|
||||
assert ENV.env_files[1].env_type == "authentik"
|
||||
assert ENV.env_files[2].env_type == "wordpress"
|
||||
|
||||
|
||||
def test_RUNNER_DICT_missing_key() -> None:
|
||||
"""RUNNER_DICT missing wordpress key while .env file with TYPE=wordpress given"""
|
||||
env_paths_list = [
|
||||
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
|
||||
]
|
||||
RUNNER_DICT_COPY = RUNNER_DICT.copy()
|
||||
del RUNNER_DICT_COPY["wordpress"]
|
||||
with pytest.raises(AssertionError) as excinfo:
|
||||
EnvManager(env_paths_list, RUNNER_DICT_COPY)
|
||||
assert "no runner for" in str(excinfo.value)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue