diff --git a/tests/test_runner.py b/tests/test_runner.py new file mode 100644 index 0000000..24f9bf6 --- /dev/null +++ b/tests/test_runner.py @@ -0,0 +1,29 @@ +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