Files
Shadowbroker/backend/tests/test_perf_guardrail_caps.py
T
BigBodyCobainandCursor 69e8ebbab2 fix: stop truncating live telemetry payloads
Remove sampling, viewport bbox truncation, and buffer ceilings that were cherry-picking ships, flights, and related layers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 20:31:50 -06:00

127 lines
4.1 KiB
Python

"""Live-data payload helpers — no telemetry sampling; bbox densify only."""
from __future__ import annotations
def test_sample_items_even_stride():
from routers.data import _sample_items
items = [{"id": i} for i in range(100)]
sampled = _sample_items(items, 10)
assert len(sampled) == 10
assert sampled[0]["id"] == 0
assert sampled[-1]["id"] == 90
def test_world_zoom_does_not_sample_telemetry():
from routers.data import _cap_fast_dashboard_payload
flights = [{"lat": 0.0, "lng": float(i), "id": f"f-{i}"} for i in range(2000)]
cctv = [{"lat": 0.0, "lon": float(i % 180), "id": f"c-{i}"} for i in range(900)]
payload = {
"commercial_flights": flights,
"ships": [{"lat": 1.0, "lng": 1.0, "id": "s1"}],
"cctv": cctv,
"cctv_total": 900,
"satellites": [{"lat": -10.0, "lng": 10.0, "id": "sat"}],
}
out = _cap_fast_dashboard_payload(payload)
assert out["payload_scale"] == "world"
assert "payload_sampled" not in out
assert len(out["commercial_flights"]) == 2000
assert len(out["cctv"]) == 900
assert out["cctv_total"] == 900
assert len(out["satellites"]) == 1
def test_regional_zoom_annotates_scale_without_sampling():
from routers.data import _cap_fast_dashboard_payload
flights = [{"lat": 35.0, "lng": -75.0, "id": f"f-{i}"} for i in range(1500)]
out = _cap_fast_dashboard_payload(
{"commercial_flights": flights},
s=30,
w=-80,
n=40,
e=-70,
)
assert out["payload_scale"] == "regional"
assert "payload_sampled" not in out
assert len(out["commercial_flights"]) == 1500
def test_bbox_filter_respects_lon_alias():
from routers.data import _bbox_filter
items = [
{"id": "in", "lat": 35.0, "lon": -75.0},
{"id": "out", "lat": 35.0, "lon": 100.0},
]
filtered = _bbox_filter(items, 30, -80, 40, -70)
assert {c["id"] for c in filtered} == {"in"}
def test_get_all_cameras_column_subset(tmp_path, monkeypatch):
import sqlite3
from services import cctv_pipeline
db = tmp_path / "cctv.db"
monkeypatch.setattr(cctv_pipeline, "DB_PATH", db)
conn = sqlite3.connect(str(db))
conn.execute(
"""
CREATE TABLE cameras (
id TEXT PRIMARY KEY,
source_agency TEXT,
lat REAL,
lon REAL,
direction_facing TEXT,
media_url TEXT,
media_type TEXT,
refresh_rate_seconds INTEGER,
last_updated TIMESTAMP,
secret_extra TEXT
)
"""
)
conn.execute(
"INSERT INTO cameras VALUES (?,?,?,?,?,?,?,?,?,?)",
("cam-1", "dot", 35.0, -75.0, "N", "https://example.com/a.jpg", "image", 60, None, "nope"),
)
conn.execute(
"INSERT INTO cameras VALUES (?,?,?,?,?,?,?,?,?,?)",
("cam-2", "dot", 10.0, 10.0, "S", "https://example.com/b.jpg", "image", 60, None, "nope"),
)
conn.commit()
conn.close()
all_cams = cctv_pipeline.get_all_cameras()
assert len(all_cams) == 2
assert "secret_extra" not in all_cams[0]
assert set(all_cams[0].keys()) <= set(cctv_pipeline._CAMERA_SELECT_COLS)
# Viewport args are ignored — full catalog always.
boxed = cctv_pipeline.get_all_cameras(south=30, west=-80, north=40, east=-70)
assert {c["id"] for c in boxed} == {"cam-1", "cam-2"}
assert cctv_pipeline.get_camera_count() == 2
def test_live_data_fast_world_keeps_full_telemetry(client, monkeypatch):
from services.fetchers import _store
from routers import data as data_router
with data_router._LIVE_DATA_BYTES_CACHE_LOCK:
data_router._LIVE_DATA_BYTES_CACHE.clear()
_store.bump_data_version()
flights = [{"lat": 0.0, "lng": float(i % 170), "id": f"f-{i}"} for i in range(1500)]
monkeypatch.setitem(_store.latest_data, "commercial_flights", flights)
monkeypatch.setitem(_store.active_layers, "flights", True)
r = client.get("/api/live-data/fast")
assert r.status_code == 200
data = r.json()
assert data.get("payload_scale") == "world"
assert "payload_sampled" not in data
assert len(data["commercial_flights"]) == 1500