new-features #5
2 changed files with 55 additions and 40 deletions
55
tests/test_env_resolution.py
Normal file
55
tests/test_env_resolution.py
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
sys.path.append(Path(__file__).parent.parent.resolve().__str__())
|
||||||
|
|
||||||
|
# import pytest
|
||||||
|
|
||||||
|
# from prototyping.sorting_algo import Rule, is_rule_satisfied, sort_by_rules
|
||||||
|
from src.coordinator import Coordinator
|
||||||
|
from src.env_file_helper import DependencyRule, EnvFile, sort_env_files_by_rule
|
||||||
|
|
||||||
|
# @pytest.fixture
|
||||||
|
# def in_list():
|
||||||
|
# return ["a", "b", "c", "d", "e", "f", "g"]
|
||||||
|
|
||||||
|
|
||||||
|
# @pytest.fixture
|
||||||
|
# def rules() -> list[Rule]:
|
||||||
|
# return [ # X depends on Y
|
||||||
|
# Rule("a", "e"),
|
||||||
|
# Rule("b", "e"),
|
||||||
|
# Rule("b", "f"),
|
||||||
|
# Rule("c", "e"),
|
||||||
|
# Rule("d", "e"),
|
||||||
|
# Rule("f", "e"),
|
||||||
|
# ]
|
||||||
|
|
||||||
|
|
||||||
|
# def has_rules_satisfied(in_list, rules):
|
||||||
|
# rule_satisfied: list[bool] = []
|
||||||
|
# for rule in rules:
|
||||||
|
# if is_rule_satisfied(in_list, rule):
|
||||||
|
# rule_satisfied.append(True)
|
||||||
|
# else:
|
||||||
|
# rule_satisfied.append(False)
|
||||||
|
# return all(rule_satisfied)
|
||||||
|
|
||||||
|
|
||||||
|
# def test_stuff(in_list, rules):
|
||||||
|
# sort_by_rules(in_list, rules)
|
||||||
|
# assert has_unique_elements(in_list)
|
||||||
|
# assert has_rules_satisfied(in_list, rules)
|
||||||
|
|
||||||
|
|
||||||
|
ENV_FILES = [
|
||||||
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
print(dependency_rules)
|
||||||
|
|
@ -1,40 +0,0 @@
|
||||||
import pytest
|
|
||||||
|
|
||||||
from prototyping.sorting_algo import Rule, is_rule_satisfied, sort_by_rules
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def in_list():
|
|
||||||
return ["a", "b", "c", "d", "e", "f", "g"]
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
|
||||||
def rules() -> list[Rule]:
|
|
||||||
return [ # X depends on Y
|
|
||||||
Rule("a", "e"),
|
|
||||||
Rule("b", "e"),
|
|
||||||
Rule("b", "f"),
|
|
||||||
Rule("c", "e"),
|
|
||||||
Rule("d", "e"),
|
|
||||||
Rule("f", "e"),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def has_unique_elements(in_list):
|
|
||||||
return len(set(in_list)) == len(in_list)
|
|
||||||
|
|
||||||
|
|
||||||
def has_rules_satisfied(in_list, rules):
|
|
||||||
rule_satisfied: list[bool] = []
|
|
||||||
for rule in rules:
|
|
||||||
if is_rule_satisfied(in_list, rule):
|
|
||||||
rule_satisfied.append(True)
|
|
||||||
else:
|
|
||||||
rule_satisfied.append(False)
|
|
||||||
return all(rule_satisfied)
|
|
||||||
|
|
||||||
|
|
||||||
def test_stuff(in_list, rules):
|
|
||||||
sort_by_rules(in_list, rules)
|
|
||||||
assert has_unique_elements(in_list)
|
|
||||||
assert has_rules_satisfied(in_list, rules)
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue