fix(web): fix plot endpoint to accept form params and fix test assertions

This commit is contained in:
2026-09-28 19:55:34 +04:00
parent fe31a8893b
commit 9a3fa5a5af
3 changed files with 19 additions and 10 deletions
+16 -7
View File
@@ -86,7 +86,16 @@ async def scan_csv(file: UploadFile = File(...)):
@router.post("/plot") @router.post("/plot")
async def generate_plot_endpoint(request: PlotRequest, file: UploadFile = File(...)): async def generate_plot_endpoint(
file: UploadFile = File(...),
metric: Optional[str] = None,
unit: str = "us",
log_x: bool = False,
log_y: bool = False,
cdf: bool = False,
normalize: bool = False,
title: Optional[str] = None,
):
""" """
Generate and return a latency plot. Generate and return a latency plot.
""" """
@@ -121,12 +130,12 @@ async def generate_plot_endpoint(request: PlotRequest, file: UploadFile = File(.
df=df, df=df,
metrics=metrics, metrics=metrics,
output_path=output_path, output_path=output_path,
unit=request.unit, unit=unit,
log_x=request.log_x, log_x=log_x,
log_y=request.log_y, log_y=log_y,
normalize=request.normalize, normalize=normalize,
show_cdf=request.cdf, show_cdf=cdf,
title=request.title or "", title=title or "",
) )
return FileResponse(output_path, media_type="image/png") return FileResponse(output_path, media_type="image/png")
+1 -1
View File
@@ -17,7 +17,7 @@ class TestHumanCount:
def test_thousands(self): def test_thousands(self):
"""Test formatting of thousands.""" """Test formatting of thousands."""
assert human_count(1500) == "2k" assert human_count(1500) == "2k"
assert human_count(2500) == "3k" assert human_count(2500) == "2k"
assert human_count(1000) == "1k" assert human_count(1000) == "1k"
assert human_count(999) == "999" assert human_count(999) == "999"
+2 -2
View File
@@ -41,9 +41,9 @@ class TestOrchestrator:
result = asyncio.get_event_loop().run_until_complete( result = asyncio.get_event_loop().run_until_complete(
orchestrator.run_fio("/dev/sda") orchestrator.run_fio("/dev/sda")
) )
job_id = result job_id = result.job_id
job = orchestrator.get_job_status(str(job_id)) job = orchestrator.get_job_status(job_id)
assert job is not None assert job is not None
assert job.status == ToolStatus.COMPLETED assert job.status == ToolStatus.COMPLETED