Skip to content

Commit cf98652

Browse files
committed
add tests for simulation reduction during upload
1 parent 4d5404c commit cf98652

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed

tests/test_web/test_webapi_mode.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,11 +108,22 @@ def mock_upload(monkeypatch, set_api_key):
108108
status=200,
109109
)
110110

111+
# store the uploaded stub for verification
112+
uploaded_stub = {}
113+
114+
def mock_upload_simulation(self, stub, **kwargs):
115+
uploaded_stub["stub"] = stub
116+
111117
def mock_upload_file(*args, **kwargs):
112118
pass
113119

120+
monkeypatch.setattr(
121+
"tidy3d.web.core.task_core.SimulationTask.upload_simulation", mock_upload_simulation
122+
)
114123
monkeypatch.setattr("tidy3d.web.core.task_core.upload_file", mock_upload_file)
115124

125+
return uploaded_stub
126+
116127

117128
@pytest.fixture
118129
def mock_get_info(monkeypatch, set_api_key):
@@ -269,6 +280,26 @@ def test_upload(monkeypatch, mock_upload, mock_get_info, mock_metadata):
269280
assert upload(sim, TASK_NAME, PROJECT_NAME, reduce_simulation=True)
270281

271282

283+
@pytest.mark.parametrize("reduce_simulation", [True, False])
284+
@responses.activate
285+
def test_upload_with_reduction_parameter(
286+
monkeypatch, mock_upload, mock_get_info, mock_metadata, reduce_simulation
287+
):
288+
"""Test that simulation reduction is properly applied before upload based on reduce_simulation parameter."""
289+
sim = make_mode_sim()
290+
291+
upload(sim, TASK_NAME, PROJECT_NAME, reduce_simulation=reduce_simulation)
292+
293+
if reduce_simulation:
294+
expected_sim = get_reduced_simulation(sim, reduce_simulation=True)
295+
assert sim != expected_sim
296+
else:
297+
expected_sim = sim
298+
299+
uploaded_sim = mock_upload["stub"].simulation
300+
assert uploaded_sim == expected_sim
301+
302+
272303
@responses.activate
273304
def test_get_info(mock_get_info):
274305
assert get_info(TASK_ID).taskId == TASK_ID

tests/test_web/test_webapi_mode_sim.py

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,22 @@ def mock_upload(monkeypatch, set_api_key):
104104
status=200,
105105
)
106106

107+
# store the uploaded stub for verification
108+
uploaded_stub = {}
109+
110+
def mock_upload_simulation(self, stub, **kwargs):
111+
uploaded_stub["stub"] = stub
112+
107113
def mock_upload_file(*args, **kwargs):
108114
pass
109115

116+
monkeypatch.setattr(
117+
"tidy3d.web.core.task_core.SimulationTask.upload_simulation", mock_upload_simulation
118+
)
110119
monkeypatch.setattr("tidy3d.web.core.task_core.upload_file", mock_upload_file)
111120

121+
return uploaded_stub
122+
112123

113124
@pytest.fixture
114125
def mock_get_info(monkeypatch, set_api_key):
@@ -265,6 +276,26 @@ def test_upload(monkeypatch, mock_upload, mock_get_info, mock_metadata):
265276
assert upload(sim, TASK_NAME, PROJECT_NAME, reduce_simulation=True)
266277

267278

279+
@pytest.mark.parametrize("reduce_simulation", [True, False])
280+
@responses.activate
281+
def test_upload_with_reduction_parameter(
282+
monkeypatch, mock_upload, mock_get_info, mock_metadata, reduce_simulation
283+
):
284+
"""Test that simulation reduction is properly applied before upload based on reduce_simulation parameter."""
285+
sim = make_mode_sim()
286+
287+
upload(sim, TASK_NAME, PROJECT_NAME, reduce_simulation=reduce_simulation)
288+
289+
if reduce_simulation:
290+
expected_sim = get_reduced_simulation(sim, reduce_simulation=True)
291+
assert sim != expected_sim
292+
else:
293+
expected_sim = sim
294+
295+
uploaded_sim = mock_upload["stub"].simulation
296+
assert uploaded_sim == expected_sim
297+
298+
268299
@responses.activate
269300
def test_get_info(mock_get_info):
270301
assert get_info(TASK_ID).taskId == TASK_ID

0 commit comments

Comments
 (0)