mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-28 11:40:32 +00:00
This commit is contained in:
parent
c4251ff70c
commit
dbe252d128
6 changed files with 226 additions and 11 deletions
58
tests/unit/test_browser_session_update_started_at.py
Normal file
58
tests/unit/test_browser_session_update_started_at.py
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
"""Test that BrowserSessionsRepository.update_persistent_browser_session() accepts started_at."""
|
||||
|
||||
from datetime import datetime, timezone
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
from skyvern.forge.sdk.db.repositories.browser_sessions import BrowserSessionsRepository
|
||||
from tests.unit.conftest import MockAsyncSessionCtx, make_mock_session
|
||||
|
||||
|
||||
def _make_browser_repo(mock_pbs: MagicMock) -> BrowserSessionsRepository:
|
||||
mock_session = make_mock_session(mock_pbs)
|
||||
return BrowserSessionsRepository(session_factory=lambda: MockAsyncSessionCtx(mock_session))
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_update_persistent_browser_session_accepts_started_at() -> None:
|
||||
"""update_persistent_browser_session() must accept started_at without raising TypeError."""
|
||||
mock_pbs = MagicMock()
|
||||
mock_pbs.status = "running"
|
||||
mock_pbs.started_at = None
|
||||
repo = _make_browser_repo(mock_pbs)
|
||||
|
||||
now = datetime.now(timezone.utc)
|
||||
with patch(
|
||||
"skyvern.forge.sdk.schemas.persistent_browser_sessions.PersistentBrowserSession.model_validate",
|
||||
return_value=MagicMock(),
|
||||
):
|
||||
await repo.update_persistent_browser_session(
|
||||
"pbs_123",
|
||||
organization_id="org_123",
|
||||
started_at=now,
|
||||
)
|
||||
|
||||
assert mock_pbs.started_at == now
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_update_persistent_browser_session_without_started_at() -> None:
|
||||
"""When started_at is not passed, the field should not be touched."""
|
||||
mock_pbs = MagicMock()
|
||||
mock_pbs.status = "created"
|
||||
original_started_at = datetime(2026, 1, 1, tzinfo=timezone.utc)
|
||||
mock_pbs.started_at = original_started_at
|
||||
repo = _make_browser_repo(mock_pbs)
|
||||
|
||||
with patch(
|
||||
"skyvern.forge.sdk.schemas.persistent_browser_sessions.PersistentBrowserSession.model_validate",
|
||||
return_value=MagicMock(),
|
||||
):
|
||||
await repo.update_persistent_browser_session(
|
||||
"pbs_123",
|
||||
organization_id="org_123",
|
||||
status="running",
|
||||
)
|
||||
|
||||
assert mock_pbs.started_at == original_started_at
|
||||
Loading…
Add table
Add a link
Reference in a new issue