def test_env_file_paths_are_project_relative(tmp_path, monkeypatch): project = tmp_path / "Seg_Data_Server_Net" source = tmp_path / "Seg" project.mkdir() source.mkdir() (project / ".env").write_text( "\n".join( [ "SEG_SOURCE_ROOT=../Seg", "SEG_BACKEND_DB=var/seg_data_server.sqlite3", "SEG_BACKEND_LOG_DIR=var/job_logs", ] ), encoding="utf-8", ) monkeypatch.setenv("SEG_DATA_SERVER_ROOT", str(project)) monkeypatch.delenv("SEG_SOURCE_ROOT", raising=False) monkeypatch.delenv("SEG_BACKEND_DB", raising=False) monkeypatch.delenv("SEG_BACKEND_LOG_DIR", raising=False) from app.config import get_settings settings = get_settings() assert settings.source_root == source.resolve() assert settings.db_path == (project / "var" / "seg_data_server.sqlite3").resolve() assert settings.log_dir == (project / "var" / "job_logs").resolve()