mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2026-04-28 03:30:10 +00:00
Some checks failed
Build Skyvern SDK and publish to PyPI / run-ci (push) Blocked by required conditions
Build Skyvern SDK and publish to PyPI / build-sdk (push) Blocked by required conditions
Run tests and pre-commit / Run tests and pre-commit hooks (push) Failing after 6s
Auto Create GitHub Release on Version Change / check-version-change (push) Successful in 1m45s
Run tests and pre-commit / Frontend Lint and Build (push) Successful in 3m48s
Publish Fern Docs / run (push) Failing after 2m43s
Auto Create GitHub Release on Version Change / create-release (push) Has been skipped
Build Skyvern SDK and publish to PyPI / check-version-change (push) Successful in 3m14s
86 lines
3.5 KiB
Python
86 lines
3.5 KiB
Python
import importlib
|
|
import sys
|
|
from types import ModuleType, SimpleNamespace
|
|
|
|
import pytest
|
|
|
|
|
|
def _install_temporal_activity_stubs(monkeypatch: pytest.MonkeyPatch) -> None:
|
|
temporalio_package = ModuleType("temporalio")
|
|
temporalio_package.__path__ = []
|
|
temporalio_activity = ModuleType("temporalio.activity")
|
|
temporalio_activity.defn = lambda fn: fn
|
|
temporalio_package.activity = temporalio_activity
|
|
|
|
monkeypatch.setitem(sys.modules, "temporalio", temporalio_package)
|
|
monkeypatch.setitem(sys.modules, "temporalio.activity", temporalio_activity)
|
|
|
|
|
|
def import_cron_worker_activities(monkeypatch: pytest.MonkeyPatch):
|
|
cloud_package = ModuleType("cloud")
|
|
cloud_package.__path__ = []
|
|
cloud_clients = ModuleType("cloud.clients")
|
|
cloud_yescaptcha = ModuleType("cloud.clients.yescaptcha")
|
|
cloud_yescaptcha_client = ModuleType("cloud.clients.yescaptcha.client")
|
|
cloud_config = ModuleType("cloud.config")
|
|
cloud_db = ModuleType("cloud.db")
|
|
cloud_agent_db = ModuleType("cloud.db.cloud_agent_db")
|
|
cloud_tasks = ModuleType("cloud.tasks")
|
|
|
|
class YescaptchaClient:
|
|
def __init__(self, client_key: str) -> None:
|
|
self.client_key = client_key
|
|
|
|
async def update_stuck_tasks_to_timed_out() -> None:
|
|
return None
|
|
|
|
async def update_stuck_workflow_runs_to_timed_out() -> None:
|
|
return None
|
|
|
|
cloud_yescaptcha_client.YescaptchaClient = YescaptchaClient
|
|
cloud_config.settings = SimpleNamespace(
|
|
ENABLE_YESCAPTCHA_BALANCE_ALERT=False,
|
|
YESCAPTCHA_API_KEY="",
|
|
)
|
|
cloud_agent_db.cloud_db = SimpleNamespace()
|
|
cloud_tasks.update_stuck_tasks_to_timed_out = update_stuck_tasks_to_timed_out
|
|
cloud_tasks.update_stuck_workflow_runs_to_timed_out = update_stuck_workflow_runs_to_timed_out
|
|
|
|
monkeypatch.setitem(sys.modules, "cloud", cloud_package)
|
|
monkeypatch.setitem(sys.modules, "cloud.clients", cloud_clients)
|
|
monkeypatch.setitem(sys.modules, "cloud.clients.yescaptcha", cloud_yescaptcha)
|
|
monkeypatch.setitem(sys.modules, "cloud.clients.yescaptcha.client", cloud_yescaptcha_client)
|
|
monkeypatch.setitem(sys.modules, "cloud.config", cloud_config)
|
|
monkeypatch.setitem(sys.modules, "cloud.db", cloud_db)
|
|
monkeypatch.setitem(sys.modules, "cloud.db.cloud_agent_db", cloud_agent_db)
|
|
monkeypatch.setitem(sys.modules, "cloud.tasks", cloud_tasks)
|
|
_install_temporal_activity_stubs(monkeypatch)
|
|
|
|
sys.modules.pop("workers.cron_worker.activities", None)
|
|
return importlib.import_module("workers.cron_worker.activities")
|
|
|
|
|
|
def import_temporal_v2_worker_activities(monkeypatch: pytest.MonkeyPatch):
|
|
cloud_package = ModuleType("cloud")
|
|
cloud_package.__path__ = []
|
|
cloud_services = ModuleType("cloud.services")
|
|
data_scrubber_module = ModuleType("cloud.services.data_scrubber_service")
|
|
worker_utils_module = ModuleType("workers.worker_utils")
|
|
|
|
class DataScrubber:
|
|
pass
|
|
|
|
async def activity_teardown() -> None:
|
|
return None
|
|
|
|
data_scrubber_module.DataScrubber = DataScrubber
|
|
worker_utils_module.activity_teardown = activity_teardown
|
|
|
|
monkeypatch.setitem(sys.modules, "cloud", cloud_package)
|
|
monkeypatch.setitem(sys.modules, "cloud.services", cloud_services)
|
|
monkeypatch.setitem(sys.modules, "cloud.services.data_scrubber_service", data_scrubber_module)
|
|
monkeypatch.setitem(sys.modules, "workers.worker_utils", worker_utils_module)
|
|
_install_temporal_activity_stubs(monkeypatch)
|
|
|
|
sys.modules.pop("workers.temporal_v2_worker.activities", None)
|
|
return importlib.import_module("workers.temporal_v2_worker.activities")
|