various (#16)
* add full integration test of cli / pytest_abra with all tests * save path of runner_*.py in runner subclass to improve test discovery -> allows for same test name in two different runners * reorganize output dir names * use URL fixture everywhere * rework coordinator interface * add --session_id to cli args * add log results table * plenty of refactoring * add assert messages * add plenty of tests * add /docs dir with plenty of documentation * fix authentik setup * add authentik cleanup, remove test user * add random test user credential generation and integrate into test routine. random creds are saved to STATES Reviewed-on: local-it-infrastructure/e2e_tests#16 Co-authored-by: Daniel <d.brummerloh@gmail.com> Co-committed-by: Daniel <d.brummerloh@gmail.com>
This commit is contained in:
parent
016b88a68d
commit
2dd765a974
36 changed files with 1145 additions and 432 deletions
|
|
@ -11,11 +11,11 @@ class DirManager:
|
|||
The structures is as follows:
|
||||
tests dir/
|
||||
session_id-1/
|
||||
records
|
||||
results
|
||||
states
|
||||
status
|
||||
session_id-2/
|
||||
records
|
||||
results
|
||||
...
|
||||
"""
|
||||
|
||||
|
|
@ -32,11 +32,11 @@ class DirManager:
|
|||
dirs: list[Path] = [
|
||||
self.OUTPUT_DIR,
|
||||
self.SESSION,
|
||||
self.RECORDS,
|
||||
self.HTML,
|
||||
self.STATES,
|
||||
self.ENV_FILES,
|
||||
self.RESULTS,
|
||||
self.HTML,
|
||||
self.STATUS,
|
||||
]
|
||||
for d in dirs:
|
||||
d.mkdir(exist_ok=True)
|
||||
|
|
@ -49,14 +49,6 @@ class DirManager:
|
|||
def SESSION(self):
|
||||
return self.OUTPUT_DIR / self.session_id
|
||||
|
||||
@property
|
||||
def RECORDS(self):
|
||||
return self.SESSION / "records"
|
||||
|
||||
@property
|
||||
def HTML(self):
|
||||
return self.RECORDS / "html"
|
||||
|
||||
@property
|
||||
def STATES(self):
|
||||
return self.SESSION / "states"
|
||||
|
|
@ -69,6 +61,14 @@ class DirManager:
|
|||
def RESULTS(self):
|
||||
return self.SESSION / "results"
|
||||
|
||||
@property
|
||||
def HTML(self):
|
||||
return self.RESULTS / "html"
|
||||
|
||||
@property
|
||||
def STATUS(self):
|
||||
return self.SESSION / "status"
|
||||
|
||||
@property
|
||||
def RECIPES(self):
|
||||
return self.recipes_dir
|
||||
|
|
@ -80,7 +80,13 @@ class DirManager:
|
|||
|
||||
@staticmethod
|
||||
def get_latest_session_id(output_dir: Path) -> Optional[str]:
|
||||
"""returns the name of the newest dir inside of output_dir"""
|
||||
"""returns the name of the newest dir inside of output_dir
|
||||
|
||||
if output_dir does not exists or is empty, None is returned"""
|
||||
|
||||
if not output_dir.is_dir():
|
||||
return None
|
||||
|
||||
all_dirs = [d for d in output_dir.iterdir() if d.is_dir()]
|
||||
if all_dirs:
|
||||
newest_dir: Path = max(all_dirs, key=lambda x: x.stat().st_ctime)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue