Spaces:
Sleeping
Sleeping
| """Job poll normalization for FE contract.""" | |
| import uuid | |
| from app.job_poll import normalize_job_row_for_client | |
| def test_normalize_adds_job_id_and_parses_result_json_string(): | |
| jid = str(uuid.uuid4()) | |
| row = { | |
| "id": jid, | |
| "status": "success", | |
| "user_id": uuid.uuid4(), | |
| "session_id": uuid.uuid4(), | |
| "result": '{"coordinates": {"A": [0, 1]}}', | |
| "input_text": "x", | |
| } | |
| out = normalize_job_row_for_client(row) | |
| assert out["job_id"] == jid | |
| assert out["id"] == jid | |
| assert out["status"] == "success" | |
| assert isinstance(out["result"], dict) | |
| assert out["result"]["coordinates"]["A"] == [0, 1] | |
| assert isinstance(out["user_id"], str) | |
| assert isinstance(out["session_id"], str) | |
| def test_normalize_keeps_dict_result(): | |
| row = {"id": "j1", "status": "processing", "result": None} | |
| out = normalize_job_row_for_client(row) | |
| assert out["job_id"] == "j1" | |
| assert out["result"] is None | |