Skip to content

Commit 98014ee

Browse files
committed
Test fixes and fixture to clear TaskFactory registry
1 parent c93a7ef commit 98014ee

File tree

9 files changed

+31
-9
lines changed

9 files changed

+31
-9
lines changed

tests/test_web/test_local_cache.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
resolve_local_cache,
4444
)
4545
from tidy3d.web.cli.app import tidy3d_cli
46-
from tidy3d.web.core.task_core import BatchTask
46+
from tidy3d.web.core.task_core import BatchTask, SimulationTask
4747

4848
common.CONNECTION_RETRY_TIME = 0.1
4949

@@ -245,7 +245,9 @@ def _fake_field_map_from_file(*args, **kwargs):
245245
monkeypatch.setattr(
246246
io_utils, "load_simulation", lambda task_id, *args, **kwargs: TASK_TO_SIM[task_id]
247247
)
248-
monkeypatch.setattr(BatchTask, "is_batch", lambda *args, **kwargs: "success")
248+
monkeypatch.setattr(
249+
SimulationTask, "get", lambda *args, **kwargs: SimpleNamespace(taskType="FDTD")
250+
)
249251
monkeypatch.setattr(
250252
BatchTask, "detail", lambda *args, **kwargs: SimpleNamespace(status="success")
251253
)

tests/test_web/test_webapi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ def test_run_with_invalid_priority(mock_webapi, priority):
415415

416416

417417
@responses.activate
418-
def test_get_run_info(mock_get_run_info):
418+
def test_get_run_info(mock_get_run_info, mock_get_info):
419419
assert get_run_info(TASK_ID) == (100, 0)
420420

421421

tests/test_web/test_webapi_eme.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ def test_get_info(mock_get_info):
260260

261261

262262
@responses.activate
263-
def test_get_run_info(mock_get_run_info):
263+
def test_get_run_info(mock_get_run_info, mock_get_info):
264264
assert get_run_info(TASK_ID) == (100, 0)
265265

266266

tests/test_web/test_webapi_heat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ def test_get_info(mock_get_info):
250250

251251

252252
@responses.activate
253-
def test_get_run_info(mock_get_run_info):
253+
def test_get_run_info(mock_get_run_info, mock_get_info):
254254
assert get_run_info(TASK_ID) == (100, 0)
255255

256256

tests/test_web/test_webapi_mode.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ def test_get_info(mock_get_info):
307307

308308

309309
@responses.activate
310-
def test_get_run_info(mock_get_run_info):
310+
def test_get_run_info(mock_get_run_info, mock_get_info):
311311
assert get_run_info(TASK_ID) == (100, 0)
312312

313313

tests/test_web/test_webapi_mode_sim.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ def test_get_info(mock_get_info):
303303

304304

305305
@responses.activate
306-
def test_get_run_info(mock_get_run_info):
306+
def test_get_run_info(mock_get_run_info, mock_get_info):
307307
assert get_run_info(TASK_ID) == (100, 0)
308308

309309

tidy3d/web/api/webapi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,9 +1368,9 @@ def delete(task_id: TaskId, versions: bool = False) -> TaskInfo:
13681368
Object containing information about status, size, credits of task.
13691369
13701370
"""
1371-
task = TaskFactory.get(task_id, verbose=False)
1372-
if not task:
1371+
if not task_id:
13731372
raise ValueError("Task id not found.")
1373+
task = TaskFactory.get(task_id, verbose=False)
13741374
task.delete(versions)
13751375
return TaskInfo(**{"taskId": task.task_id, **task.dict()})
13761376

tidy3d/web/core/task_core.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -965,6 +965,11 @@ class TaskFactory:
965965

966966
_REGISTRY: dict[str, str] = {}
967967

968+
@classmethod
969+
def reset(cls) -> None:
970+
"""Clear the cached task kind registry (used in tests)."""
971+
cls._REGISTRY.clear()
972+
968973
@classmethod
969974
def register(cls, task_id: str, kind: str) -> None:
970975
cls._REGISTRY[task_id] = kind

tidy3d/web/tests/conftest.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from __future__ import annotations
2+
3+
from collections.abc import Generator
4+
5+
import pytest
6+
from tidy3d_frontend.tidy3d.web.core.task_core import TaskFactory
7+
8+
9+
@pytest.fixture(autouse=True)
10+
def clear_task_factory_registry() -> Generator[None, None, None]:
11+
"""Ensure TaskFactory registry is empty for each test."""
12+
TaskFactory.reset()
13+
TaskFactory.reset()
14+
yield
15+
TaskFactory.reset()

0 commit comments

Comments
 (0)