test: cover ai platform demo workflow

This commit is contained in:
hailin
2026-07-14 14:11:31 +08:00
parent d08dda723c
commit 77def70983
6 changed files with 142 additions and 3 deletions

View File

@@ -1,6 +1,8 @@
from django.contrib.auth import get_user_model
from django.core.management import call_command
from apps.agents.models import AgentRun
from apps.agents.services import build_config_snapshot
from apps.modelhub.services import CompletionResult
from .helpers import create_agent, create_deployment
@@ -65,6 +67,32 @@ def test_agent_run_permission_is_required(client, db):
assert response.status_code == 403
def test_queued_run_can_be_cancelled(client, db, monkeypatch):
login_admin(client)
definition, version = create_agent(published=True)
run = AgentRun.objects.create(
definition=definition,
agent_version=version,
input_payload={"problem": "无法登录"},
config_snapshot=build_config_snapshot(version),
total_steps=version.steps.count(),
)
revoked = []
monkeypatch.setattr(
"apps.agents.api.AsyncResult.revoke",
lambda self, **kwargs: revoked.append(kwargs),
)
run.task_id = "queued-task-id"
run.save(update_fields=["task_id"])
response = client.post(f"/api/agent-runs/{run.public_id}/cancel")
assert response.status_code == 200
assert response.json()["status"] == "cancelled"
assert response.json()["cancellation_requested_at"] is not None
assert revoked == [{"terminate": False}]
def test_seed_command_creates_support_agent(client, db):
deployment = create_deployment()