new test framework #1

Merged
dan merged 47 commits from wip-new-framework into dev 2023-11-22 21:40:14 +01:00
Showing only changes of commit 14c0c073e4 - Show all commits

View file

@ -1,5 +1,5 @@
from pathlib import Path
from typing import Optional, Protocol
from typing import Protocol
from dotenv import dotenv_values
from icecream import ic
@ -10,7 +10,7 @@ class TestRunner(Protocol):
def __init__(self, dotenv_path: Path):
...
def run_tests():
def run_tests(self):
...
@ -20,13 +20,11 @@ RUNNER_DICT: dict[str, type[TestRunner]] = {"wordpress": RunnerWordpress}
class Wrapper:
def __init__(self, dotenv_path: Path):
assert dotenv_path.is_file()
config: dict[str, Optional[str]] = dotenv_values(dotenv_path)
config: dict[str, str] = dotenv_values(dotenv_path)
runner = self.load_runner(config, dotenv_path)
runner.run_tests()
def load_runner(
self, config: dict[str, Optional[str]], dotenv_path: Path
) -> TestRunner:
def load_runner(self, config: dict[str, str], dotenv_path: Path) -> TestRunner:
config_type = config["TYPE"]
ic(config_type)
RunnerClass = RUNNER_DICT[config_type]