import pathlib ROOT=pathlib.Path(__file__).resolve().parents[1] def test_version_372(): assert (ROOT/"VERSION").read_text(encoding="utf-8").strip()=="4.6.15" def test_route_modules_exist(): for name in ("datasets.py","user_state.py","project_package.py","data_health.py"): assert (ROOT/"routes"/name).exists() def test_ui_server_is_assembly_for_extracted_routes(): ui=(ROOT/"ui_server.py").read_text(encoding="utf-8") assert "register_user_state_routes(app, globals())" in ui assert "register_datasets_routes(app, globals())" in ui assert "register_project_package_routes(app, globals())" in ui assert "async def sidebar_dataset_detail" not in ui assert "async def build_project_package" not in ui assert "async def get_synced_workspace" not in ui def test_extracted_route_contracts_are_preserved(): datasets=(ROOT/"routes"/"datasets.py").read_text(encoding="utf-8") package=(ROOT/"routes"/"project_package.py").read_text(encoding="utf-8") state=(ROOT/"routes"/"user_state.py").read_text(encoding="utf-8") assert '"/api/sidebar/datasets/{group}/{source_key}"' in datasets assert '"/api/sidebar/datasets/quality"' in datasets assert '"/api/sidebar/project-package/build"' in package assert '"/api/sidebar/project-package/download/{token}"' in package assert '"/api/sidebar/workspace"' in state assert '"/api/sidebar/favorites"' in state