test: cover ai platform demo workflow
This commit is contained in:
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user