mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-26 10:41:14 +00:00
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
from types import SimpleNamespace
|
|
|
|
import pytest
|
|
|
|
from skyvern.forge import app
|
|
from skyvern.forge.sdk.core.hashing import generate_url_hash
|
|
from skyvern.schemas.runs import RunStatus, RunType
|
|
from skyvern.services.task_v2_service import DEFAULT_WORKFLOW_TITLE, initialize_task_v2
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_initialize_task_v2_populates_task_run_url_when_user_url_is_known() -> None:
|
|
organization = SimpleNamespace(organization_id="org_123")
|
|
user_url = "https://example.com"
|
|
|
|
app.DATABASE.observer.create_task_v2.return_value = SimpleNamespace(
|
|
observer_cruise_id="tsk_123",
|
|
workflow_run_id=None,
|
|
url=user_url,
|
|
)
|
|
app.WORKFLOW_SERVICE.create_empty_workflow.return_value = SimpleNamespace(
|
|
workflow_id="wf_123",
|
|
workflow_permanent_id="wpid_123",
|
|
title=DEFAULT_WORKFLOW_TITLE,
|
|
)
|
|
app.WORKFLOW_SERVICE.setup_workflow_run.return_value = SimpleNamespace(workflow_run_id="wr_123")
|
|
app.DATABASE.observer.update_task_v2.return_value = SimpleNamespace(
|
|
observer_cruise_id="tsk_123",
|
|
workflow_run_id="wr_123",
|
|
workflow_id="wf_123",
|
|
workflow_permanent_id="wpid_123",
|
|
url=user_url,
|
|
)
|
|
app.DATABASE.tasks.create_task_run.return_value = SimpleNamespace(run_id="tsk_123")
|
|
|
|
await initialize_task_v2(
|
|
organization=organization,
|
|
user_prompt="Open the page",
|
|
user_url=user_url,
|
|
create_task_run=True,
|
|
)
|
|
|
|
app.DATABASE.tasks.create_task_run.assert_awaited_once_with(
|
|
task_run_type=RunType.task_v2,
|
|
organization_id="org_123",
|
|
run_id="tsk_123",
|
|
title=DEFAULT_WORKFLOW_TITLE,
|
|
url=user_url,
|
|
url_hash=generate_url_hash(user_url),
|
|
status=RunStatus.queued,
|
|
)
|