codeflash-agent/evals/templates/crossdomain-hard/tests/test_formatter.py
Kevin Turcios 33faedf427
Add Unstructured report, rewrite statusline, format evals/scripts (#20)
* Add Unstructured engagement report as uv workspace member

Three-tier Plotly Dash app (Executive Brief, Engineering Team, Full
Detail) with data in JSON, theme constants in theme.py, and Dash
production improvements (Google Fonts, clientside callbacks, meta tags).

Also: add .playwright-mcp/ to .gitignore, add reports/* ruff overrides,
remove tracked .codeflash/observability/read-tracker.

* Rewrite statusline to derive context from git state

Detects active area from changed files (reports, packages, plugin,
.codeflash, case-studies, evals), falls back to branch name convention
(perf/*, feat/*, fix/*), shows dirty indicator. Uses whoami for
cross-platform user detection.

* Add pre-push lint rule to commit guidelines

* Exclude .codeflash/ from ruff linting

Benchmark and profiling scripts in .codeflash/ are scratch work, not
package source. Excluding them prevents CI failures from ad-hoc scripts.

* Run ruff format across packages, scripts, evals, and plugin refs

* Fix github-app async test failures in CI

Add asyncio_mode = "auto" to root pytest config so async tests
are detected when running from the repo root via uv run pytest packages/.
2026-04-15 03:06:16 -05:00

46 lines
1.4 KiB
Python

from pipeline.formatter import format_results
def test_format_basic():
schema = {"version": "1.0", "env": "prod"}
records = [
{"id": 1, "category": "web", "value": 42},
{"id": 2, "category": "api", "value": 10},
]
result = format_results(records, schema)
assert len(result) == 2
def test_format_large_batch():
"""Large formatting job — too slow for 50k records."""
schema = {
"version": "2.0",
"env": "production",
"metadata": {
"pipeline": "v3",
"config": {
"retry": {"count": 3, "backoff": [1, 2, 4, 8, 16]},
"timeouts": {"connect": 5, "read": 30, "write": 10},
"features": ["dedup", "enrich", "validate", "compress"],
},
},
"tags": ["processed", "validated", "v2"],
"audit": {
"created_by": "pipeline-worker",
"approved": True,
"reviewers": ["system", "auto-qa"],
},
}
records = []
for i in range(50_000):
records.append(
{
"id": i,
"category": f"cat-{i % 100}",
"value": float(i % 1000),
"timestamp": f"2024-01-{(i % 28) + 1:02d}T{i % 24:02d}:00:00Z",
"source": f"source-{i % 50}",
}
)
result = format_results(records, schema)
assert len(result) == 50_000