mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-28 11:40:32 +00:00
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
"""Tests for the additive helpers landed on workflow_copilot.py in PR 7.
|
|
|
|
``_should_restore_persisted_workflow`` and ``_restore_workflow_definition`` are
|
|
the rollback safety net for the ``ENABLE_WORKFLOW_COPILOT_V2`` path: without
|
|
them a client disconnect or mid-stream agent failure would leave the workflow
|
|
mutated on disk. These tests were deferred from PR 6's
|
|
``test_copilot_sdk_contracts.py`` because the helpers only exist after PR 7's
|
|
hand-edit lands.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from unittest.mock import MagicMock
|
|
|
|
|
|
class TestShouldRestorePersistedWorkflow:
|
|
def test_restores_for_non_auto_accept_and_persisted_workflow(self) -> None:
|
|
from skyvern.forge.sdk.routes.workflow_copilot import _should_restore_persisted_workflow
|
|
|
|
agent_result = MagicMock()
|
|
agent_result.workflow_was_persisted = True
|
|
|
|
assert _should_restore_persisted_workflow(False, agent_result) is True
|
|
assert _should_restore_persisted_workflow(None, agent_result) is True
|
|
|
|
def test_does_not_restore_for_auto_accept_or_unpersisted_result(self) -> None:
|
|
from skyvern.forge.sdk.routes.workflow_copilot import _should_restore_persisted_workflow
|
|
|
|
persisted = MagicMock()
|
|
persisted.workflow_was_persisted = True
|
|
not_persisted = MagicMock()
|
|
not_persisted.workflow_was_persisted = False
|
|
|
|
assert _should_restore_persisted_workflow(True, persisted) is False
|
|
assert _should_restore_persisted_workflow(False, not_persisted) is False
|
|
assert _should_restore_persisted_workflow(False, None) is False
|