mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-11 03:38:38 +00:00
test(interactions): validate response fields against Interaction schema
Google restructured the live spec at ai.google.dev/static/api/ interactions.openapi.json: the output-only fields (notably the `steps` array, formerly `outputs`) moved off the request schema `CreateModelInteractionParams` onto a dedicated `Interaction` response schema. The response-side tests still read from the request schema, so `test_interaction_response_fields` failed with "Output field 'steps' not in spec". Point `test_interaction_response_fields` and `test_status_enum_values` at the `Interaction` schema (the semantic response object; all output fields incl. `steps` present there). Request-side tests keep using `CreateModelInteractionParams` (all request fields verified still present). 13/13 pass against the current live spec.
This commit is contained in:
parent
c706184444
commit
11393f86f5
1 changed files with 8 additions and 6 deletions
|
|
@ -153,12 +153,13 @@ class TestResponseCompliance:
|
|||
|
||||
def test_interaction_response_fields(self, spec_dict):
|
||||
"""Verify our InteractionsAPIResponse has correct fields."""
|
||||
# The response is the Interaction schema
|
||||
# Check CreateModelInteractionParams which includes output fields
|
||||
schema = spec_dict["components"]["schemas"]["CreateModelInteractionParams"]
|
||||
# The response is the dedicated `Interaction` schema. Google moved the
|
||||
# output-only fields (notably the `steps` array, formerly `outputs`)
|
||||
# off `CreateModelInteractionParams` and onto `Interaction`; the request
|
||||
# schema no longer carries `steps`. Keep this aligned with the live spec.
|
||||
schema = spec_dict["components"]["schemas"]["Interaction"]
|
||||
|
||||
# Output fields (readOnly). Google renamed `outputs` → `steps` in the
|
||||
# upstream spec; keep this list aligned with the live schema.
|
||||
# Output fields (readOnly).
|
||||
output_fields = [
|
||||
"id",
|
||||
"status",
|
||||
|
|
@ -175,7 +176,8 @@ class TestResponseCompliance:
|
|||
|
||||
def test_status_enum_values(self, spec_dict):
|
||||
"""Verify status enum values match spec."""
|
||||
schema = spec_dict["components"]["schemas"]["CreateModelInteractionParams"]
|
||||
# `status` is an output-only field; validate against the response schema.
|
||||
schema = spec_dict["components"]["schemas"]["Interaction"]
|
||||
status_prop = schema["properties"]["status"]
|
||||
# Google Interactions API uses lowercase status values (updated Feb 2026)
|
||||
expected_statuses = [
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue