fix: resolve language_version in testgen_repair endpoint (#2494)
## Summary - The `/testgen_repair` endpoint was missed when `language_version` support was added in #2488 - Clients that stopped sending `python_version` (codeflash-ai/codeflash#1914) hit `400 - Python version is required` - Adds `language_version` field and `resolve_python_version` validator to `TestRepairSchema`, matching the pattern in `OptimizeSchema`/`TestGenSchema` - Replaces `python_version=data.python_version` with `language_version=data.language_version` when constructing `TestGenSchema` in the repair handler ## Test plan - [ ] Deploy and verify testgen repair calls no longer return 400 - [ ] Verify old clients sending `python_version` still work (backward compat via validator)
This commit is contained in:
parent
927cc99588
commit
40def05997
2 changed files with 12 additions and 1 deletions
|
|
@ -1,6 +1,9 @@
|
|||
"""Request/response schemas for the testgen review and repair endpoints."""
|
||||
|
||||
from typing import Self
|
||||
|
||||
from ninja import Schema
|
||||
from pydantic import model_validator
|
||||
|
||||
from aiservice.models.functions_to_optimize import FunctionToOptimize
|
||||
|
||||
|
|
@ -82,6 +85,7 @@ class TestRepairSchema(Schema):
|
|||
test_timeout: int
|
||||
trace_id: str
|
||||
python_version: str | None = None
|
||||
language_version: str | None = None
|
||||
language: str = "python"
|
||||
codeflash_version: str | None = None
|
||||
call_sequence: int | None = None
|
||||
|
|
@ -89,6 +93,13 @@ class TestRepairSchema(Schema):
|
|||
previous_repair_errors: dict[str, str] = {}
|
||||
module_source_code: str = ""
|
||||
|
||||
@model_validator(mode="after")
|
||||
def resolve_python_version(self) -> Self:
|
||||
"""Resolve python_version from language_version for backward compatibility."""
|
||||
if self.python_version is None and self.language_version is not None and self.language == "python":
|
||||
self.python_version = self.language_version
|
||||
return self
|
||||
|
||||
|
||||
class TestRepairResponseSchema(Schema):
|
||||
generated_tests: str
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ async def testgen_repair(
|
|||
test_framework=data.test_framework,
|
||||
test_timeout=data.test_timeout,
|
||||
trace_id=data.trace_id,
|
||||
python_version=data.python_version,
|
||||
language_version=data.language_version,
|
||||
language=data.language,
|
||||
codeflash_version=data.codeflash_version,
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in a new issue