911 / tests /test_repo_structure.py
garvitsachdeva's picture
Dispatch environment: rewards, dashboard, docs, and passing tests
6172160
"""Tests for repository structure and package layout."""
from __future__ import annotations
from pathlib import Path
ROOT = Path(__file__).parent.parent
def test_src_directory_exists() -> None:
assert (ROOT / "src").is_dir()
def test_all_src_modules_exist() -> None:
expected = [
"src/__init__.py",
"src/models.py",
"src/protocol.py",
"src/physics.py",
"src/city_schema.py",
"src/state_machine.py",
"src/api.py",
"src/rewards.py",
"src/phraseology.py",
"src/openenv_environment.py",
]
for path in expected:
assert (ROOT / path).is_file(), f"Missing: {path}"
def test_tasks_subpackage_exists() -> None:
assert (ROOT / "src/tasks").is_dir()
expected = [
"src/tasks/__init__.py",
"src/tasks/registry.py",
"src/tasks/single_incident.py",
"src/tasks/multi_incident.py",
"src/tasks/mass_casualty.py",
"src/tasks/shift_surge.py",
]
for path in expected:
assert (ROOT / path).is_file(), f"Missing: {path}"
def test_server_subpackage_exists() -> None:
assert (ROOT / "src/server").is_dir()
expected = [
"src/server/__init__.py",
"src/server/app.py",
"src/server/requirements.txt",
"src/server/Dockerfile",
]
for path in expected:
assert (ROOT / path).is_file(), f"Missing: {path}"
def test_visualizer_subpackage_exists() -> None:
assert (ROOT / "src/visualizer").is_dir()
expected = [
"src/visualizer/__init__.py",
"src/visualizer/viewer.py",
]
for path in expected:
assert (ROOT / path).is_file(), f"Missing: {path}"
def test_pyproject_toml_exists() -> None:
assert (ROOT / "pyproject.toml").is_file()
def test_openenv_yaml_exists() -> None:
assert (ROOT / "openenv.yaml").is_file()
def test_src_package_importable() -> None:
import src
assert hasattr(src, "__version__")
def test_all_src_modules_importable() -> None:
modules = [
"src.models",
"src.protocol",
"src.physics",
"src.city_schema",
"src.state_machine",
"src.api",
"src.rewards",
"src.phraseology",
"src.openenv_environment",
]
for name in modules:
import importlib
assert importlib.import_module(name) is not None