feat: release 2.2.0 with PC-only tests and execution reliability fixes
Unify task scheduling and queue state, fix Android input and observation recovery, preserve screenshot paths, and match final review criteria accurately. Add collapsible copyable results and publish the complete 2.1.0 upgrade notes. Validation: 3189 backend tests, 326 frontend tests, 24 client tests, production build and quality gates.
This commit is contained in:
1 parent
fac4ccb760
commit
be6e8c2abd
79 files changed
+2263
-277
No files matched your search
@@ -20,6 +20,7 @@ import pytest
|
||||
|
||||
from apps.admin_console.routers import tasks
|
||||
from apps.admin_console.schemas.task_schema import RunRequest
|
||||
from apps.admin_console.services.task_import import TaskOptions
|
||||
from artemis.core.diagnostics.schema import (
|
||||
ProbeCategory,
|
||||
ProbeResult,
|
||||
@@ -27,6 +28,28 @@ from artemis.core.diagnostics.schema import (
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.parametrize("profile", ["flash", "pro"])
|
||||
async def test_pc_task_skips_android_submission_checks(monkeypatch, profile):
|
||||
probe = AsyncMock(side_effect=AssertionError("PC submission cannot probe Android"))
|
||||
validate = AsyncMock(side_effect=AssertionError("PC submission cannot enumerate Android"))
|
||||
enqueue = AsyncMock(return_value={"status": "started", "tasks": []})
|
||||
monkeypatch.setattr(tasks.readiness_engine, "run_device_submission_probe", probe)
|
||||
monkeypatch.setattr(tasks.device_pool, "validate_explicit_serial_async", validate)
|
||||
monkeypatch.setattr(tasks.task_queue_service, "enqueue_tasks", enqueue)
|
||||
await tasks.run_task(
|
||||
RunRequest(
|
||||
goal="Check browser",
|
||||
profile=profile,
|
||||
device_serial="offline-phone",
|
||||
runtime_overrides=TaskOptions(execution_target="computer"),
|
||||
)
|
||||
)
|
||||
probe.assert_not_awaited()
|
||||
validate.assert_not_awaited()
|
||||
assert enqueue.call_args.kwargs["runtime_overrides"]["execution_target"] == "computer"
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_run_task_rejects_locked_device(monkeypatch):
|
||||
locked_probe = ProbeResult(
|
||||
|
||||
Reference in new issue
Block a user