* 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>
29 lines
969 B
Python
29 lines
969 B
Python
from pathlib import Path
|
|
|
|
from pytest_abra import DirManager, Runner
|
|
|
|
|
|
def test_runner_create_status_file(tmp_path: Path):
|
|
"""check if _create_status_file prevents duplicates"""
|
|
|
|
DIR = DirManager(output_dir=tmp_path, session_id="temp")
|
|
DIR.create_all_dirs()
|
|
assert len(list(DIR.STATUS.iterdir())) == 0
|
|
|
|
# create first status file
|
|
Runner._create_status_file(DIR, "passed", "identifier-a")
|
|
assert len(list(DIR.STATUS.iterdir())) == 1
|
|
|
|
# create second status file
|
|
Runner._create_status_file(DIR, "passed", "identifier-b")
|
|
assert len(list(DIR.STATUS.iterdir())) == 2
|
|
|
|
# check if _get_status_files finds only the correct status file
|
|
result = Runner._get_status_files(DIR, "identifier-a")
|
|
assert len(result) == 1
|
|
|
|
# overwrite first status file
|
|
Runner._create_status_file(DIR, "failed", "identifier-a")
|
|
assert len(list(DIR.STATUS.iterdir())) == 2
|
|
|
|
assert Runner._is_test_passed(DIR, "identifier-a") is False
|