from __future__ import annotations from pathlib import Path import os import stat import subprocess def test_dependencies_ready_fails_when_jwt_is_missing(tmp_path: Path) -> None: fake_python = tmp_path / "fake-python.sh" fake_python.write_text( """#!/usr/bin/env bash if [ "$1" = "-c" ]; then case "$2" in *jwt*) exit 1 ;; *) exit 0 ;; esac fi exit 0 """, encoding="utf-8", ) fake_python.chmod(fake_python.stat().st_mode | stat.S_IEXEC) script_path = Path(__file__).resolve().parents[1] / "server_start.sh" script_prefix = script_path.read_text(encoding="utf-8").split('case "$MODE" in', 1)[0] command = f"""{script_prefix} PYTHON_BIN="{fake_python}" dependencies_ready """ result = subprocess.run( ["bash", "-c", command], capture_output=True, text=True, env={**os.environ, "MODE": "test"}, cwd=script_path.parent, check=False, ) assert result.returncode != 0