Files
dify/api/services/dify_builder/application/testdata.py
T
Charles Yao 231e423431 Integrate validated Builder backend testing and CI repairs
Track backend integration, Ruff cleanup and migration reconciliation in ENG-1271. Retain required copy contracts without implementing frontend interactions.
2026-10-20 15:40:06 -07:00

25 lines
1.0 KiB
Python

"""Shared fixture admission seam for authorized Builder test-data handlers."""
from core.dify_builder.contract import decode_testdata_http_fixtures
from core.dify_builder.models import Turn
from services.dify_builder.application.execution_policy import HttpFixtureSetV1
from services.dify_builder.application.ports import DifyPort
def stamp_testdata_http_fixtures(dify: DifyPort, *, app_id: str, turn: Turn) -> HttpFixtureSetV1 | None:
"""Decode public fixtures and stamp against the exact submitted revision.
Absence leaves historical input-only behavior intact. The existing port
owns authorization, current raw metadata admission and revision lineage.
"""
action = turn.action
fixtures = decode_testdata_http_fixtures(action.payload if action is not None else {})
if fixtures is None:
return None
return dify.stamp_http_fixtures(
app_id,
turn.actor,
base_app_revision=action.base_app_revision if action is not None else "",
fixtures=fixtures,
)