add code for different runners
This commit is contained in:
parent
18c695d178
commit
c794d330ab
1 changed files with 29 additions and 14 deletions
43
src/main.py
43
src/main.py
|
|
@ -32,28 +32,37 @@ RUNNER_DICT: dict[str, type[TestRunner]] = {"wordpress": RunnerWordpress}
|
||||||
class Wrapper:
|
class Wrapper:
|
||||||
def __init__(self, env_files: list[Path]):
|
def __init__(self, env_files: list[Path]):
|
||||||
self.env_files = env_files
|
self.env_files = env_files
|
||||||
self.runners: list[TestRunner] = []
|
|
||||||
|
|
||||||
self.setup_tests()
|
self.setup_test_dir()
|
||||||
return
|
|
||||||
|
|
||||||
dotenv_path = self.env_files[0]
|
self.check_env_files(self.env_files)
|
||||||
assert dotenv_path.is_file()
|
self.runners: list[TestRunner] = self.load_runners(self.env_files)
|
||||||
config: dict[str, str] = dotenv_values(dotenv_path)
|
self.run_tests(self.runners)
|
||||||
runner = self.load_runners(config, dotenv_path)
|
|
||||||
runner.run_tests()
|
|
||||||
|
|
||||||
def load_runners(self, config: dict[str, str], dotenv_path: Path) -> TestRunner:
|
def load_runners(self, env_files: list[Path]) -> list[TestRunner]:
|
||||||
config_type = config["TYPE"]
|
runners = []
|
||||||
ic(config_type)
|
for env_file in env_files:
|
||||||
RunnerClass = RUNNER_DICT[config_type]
|
config: dict[str, str] = dotenv_values(env_file)
|
||||||
return RunnerClass(dotenv_path)
|
RunnerClass = RUNNER_DICT[config["TYPE"]]
|
||||||
|
runners.append(RunnerClass(env_file))
|
||||||
|
return runners
|
||||||
|
|
||||||
def setup_tests(self):
|
def run_tests(self, runners: list[TestRunner]):
|
||||||
|
for runner in runners:
|
||||||
|
runner.run_tests()
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def check_env_files(env_files: list[Path]):
|
||||||
|
"""checks if file exist for every file in list"""
|
||||||
|
for env_file in env_files:
|
||||||
|
assert env_file.is_file()
|
||||||
|
|
||||||
|
def setup_test_dir(self):
|
||||||
session_id = self.get_session_id()
|
session_id = self.get_session_id()
|
||||||
test_dir = self.create_test_dir(session_id)
|
test_dir = self.create_test_dir(session_id)
|
||||||
self.create_records_dir(test_dir)
|
self.create_records_dir(test_dir)
|
||||||
self.create_states_dir(test_dir)
|
self.create_states_dir(test_dir)
|
||||||
|
self.create_results_dir(test_dir)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def get_session_id() -> str:
|
def get_session_id() -> str:
|
||||||
|
|
@ -79,6 +88,12 @@ class Wrapper:
|
||||||
states.mkdir()
|
states.mkdir()
|
||||||
return states
|
return states
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def create_results_dir(test_dir: Path) -> Path:
|
||||||
|
results = test_dir / Path("results")
|
||||||
|
results.mkdir()
|
||||||
|
return results
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
t = Wrapper(ENV_FILES)
|
t = Wrapper(ENV_FILES)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue