perf(runtime): isolate workers and compress web assets
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
Some checks failed
CD Pipeline / deploy (push) Has been cancelled
This commit is contained in:
51
tests/test_codebase_modularization_performance_service.py
Normal file
51
tests/test_codebase_modularization_performance_service.py
Normal file
@@ -0,0 +1,51 @@
|
||||
import json
|
||||
from datetime import datetime, timezone
|
||||
from pathlib import Path
|
||||
|
||||
from services.codebase_modularization_performance_service import (
|
||||
build_codebase_inventory,
|
||||
write_codebase_inventory_receipt,
|
||||
)
|
||||
|
||||
|
||||
def test_inventory_generates_complete_prioritized_work_items():
|
||||
result = build_codebase_inventory(now=datetime(2026, 7, 11, tzinfo=timezone.utc))
|
||||
|
||||
summary = result["summary"]
|
||||
assert summary["production_python_module_count"] > 0
|
||||
assert summary["large_python_module_count"] > 0
|
||||
assert summary["runtime_control_passed"] == summary["runtime_control_total"]
|
||||
assert summary["runtime_closure"] == "partial"
|
||||
assert 0 < summary["program_completion_percent"] < 100
|
||||
|
||||
python_paths = {item["path"] for item in result["python_work_items"]}
|
||||
frontend_paths = {item["path"] for item in result["frontend_work_items"]}
|
||||
assert "services/pchome_mapping_backlog_service.py" in python_paths
|
||||
assert "routes/openclaw_bot_routes.py" in python_paths
|
||||
assert "templates/ai_intelligence.html" in frontend_paths
|
||||
assert all(item["work_item_id"] for item in result["python_work_items"])
|
||||
by_path = {item["path"]: item for item in result["python_work_items"]}
|
||||
assert by_path["routes/openclaw_bot_routes.py"]["status"] == "in_progress"
|
||||
assert by_path["services/pchome_mapping_backlog_service.py"]["status"] == "not_started"
|
||||
assert summary["work_item_status_counts"]["in_progress"] == 3
|
||||
assert sum(summary["work_item_status_counts"].values()) == (
|
||||
summary["large_python_module_count"] + summary["large_frontend_asset_count"]
|
||||
)
|
||||
|
||||
|
||||
def test_inventory_receipt_write_is_atomic_and_readable(tmp_path):
|
||||
result = build_codebase_inventory(now=datetime(2026, 7, 11, tzinfo=timezone.utc))
|
||||
target = tmp_path / "latest.json"
|
||||
|
||||
written = write_codebase_inventory_receipt(result, path=target)
|
||||
|
||||
assert written == target
|
||||
assert json.loads(target.read_text(encoding="utf-8"))["schema"] == result["schema"]
|
||||
assert not target.with_suffix(".json.tmp").exists()
|
||||
|
||||
|
||||
def test_scheduler_owns_daily_inventory_runtime():
|
||||
source = (Path(__file__).resolve().parents[1] / "run_scheduler.py").read_text(encoding="utf-8")
|
||||
|
||||
assert 'day.at("04:15").do(run_codebase_modularization_performance_task)' in source
|
||||
assert '_save_stats("codebase_modularization_performance", payload)' in source
|
||||
Reference in New Issue
Block a user