Skip to content

Commit e8e5361

Browse files
committed
patch sync substatus integ tests. style.
1 parent 47797c0 commit e8e5361

File tree

3 files changed

+40
-19
lines changed

3 files changed

+40
-19
lines changed

synapseclient/models/submission_bundle.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,15 @@ def fill_from_dict(
202202

203203
submission_status_dict = synapse_submission_bundle.get("submissionStatus", None)
204204
if submission_status_dict:
205-
self.submission_status = SubmissionStatus().fill_from_dict(submission_status_dict)
205+
self.submission_status = SubmissionStatus().fill_from_dict(
206+
submission_status_dict
207+
)
206208
# Manually set evaluation_id from the submission data if available
207-
if self.submission_status and self.submission and self.submission.evaluation_id:
209+
if (
210+
self.submission_status
211+
and self.submission
212+
and self.submission.evaluation_id
213+
):
208214
self.submission_status.evaluation_id = self.submission.evaluation_id
209215
else:
210216
self.submission_status = None

synapseclient/models/submission_status.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,6 @@ async def store_async(
665665
"modified_on",
666666
"entity_id",
667667
"version_number",
668-
"status_version",
669668
],
670669
logger=logger,
671670
)

tests/integration/synapseclient/models/synchronous/test_submission_status.py

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import pytest
99

1010
from synapseclient import Synapse
11+
from synapseclient.annotations import from_submission_status_annotations
1112
from synapseclient.core.exceptions import SynapseHTTPError
1213
from synapseclient.models import Evaluation, File, Project, Submission, SubmissionStatus
1314

@@ -214,6 +215,7 @@ async def test_store_submission_status_with_status_change(
214215
# GIVEN a submission status that exists
215216
original_status = test_submission_status.status
216217
original_etag = test_submission_status.etag
218+
original_status_version = test_submission_status.status_version
217219

218220
# WHEN I update the status
219221
test_submission_status.status = "VALIDATED"
@@ -224,7 +226,7 @@ async def test_store_submission_status_with_status_change(
224226
assert updated_status.status == "VALIDATED"
225227
assert updated_status.status != original_status
226228
assert updated_status.etag != original_etag # etag should change
227-
assert updated_status.status_version > test_submission_status.status_version
229+
assert updated_status.status_version > original_status_version
228230

229231
async def test_store_submission_status_with_submission_annotations(
230232
self, test_submission_status: SubmissionStatus
@@ -233,17 +235,18 @@ async def test_store_submission_status_with_submission_annotations(
233235
# WHEN I add submission annotations and store
234236
test_submission_status.submission_annotations = {
235237
"score": 85.5,
236-
"validation_passed": [True],
237238
"feedback": "Good work!",
238239
}
239240
updated_status = test_submission_status.store(synapse_client=self.syn)
240241

241242
# THEN the submission annotations should be saved
242243
assert updated_status.submission_annotations is not None
243-
assert "score" in updated_status.submission_annotations
244-
assert updated_status.submission_annotations["score"] == [85.5]
245-
assert updated_status.submission_annotations["validation_passed"] == [True]
246-
assert updated_status.submission_annotations["feedback"] == ["Good work!"]
244+
converted_submission_annotations = from_submission_status_annotations(
245+
updated_status.submission_annotations
246+
)
247+
assert "score" in converted_submission_annotations
248+
assert converted_submission_annotations["score"] == [85.5]
249+
assert converted_submission_annotations["feedback"] == ["Good work!"]
247250

248251
async def test_store_submission_status_with_legacy_annotations(
249252
self, test_submission_status: SubmissionStatus
@@ -255,12 +258,16 @@ async def test_store_submission_status_with_legacy_annotations(
255258
"reviewer_notes": "Excellent submission",
256259
}
257260
updated_status = test_submission_status.store(synapse_client=self.syn)
261+
assert updated_status.annotations is not None
262+
263+
converted_annotations = from_submission_status_annotations(
264+
updated_status.annotations
265+
)
258266

259267
# THEN the legacy annotations should be saved
260-
assert updated_status.annotations is not None
261-
assert "internal_score" in updated_status.annotations
262-
assert updated_status.annotations["internal_score"] == [92.3]
263-
assert updated_status.annotations["reviewer_notes"] == ["Excellent submission"]
268+
assert "internal_score" in converted_annotations
269+
assert converted_annotations["internal_score"] == 92.3
270+
assert converted_annotations["reviewer_notes"] == "Excellent submission"
264271

265272
async def test_store_submission_status_with_combined_annotations(
266273
self, test_submission_status: SubmissionStatus
@@ -279,12 +286,18 @@ async def test_store_submission_status_with_combined_annotations(
279286

280287
# THEN both types of annotations should be saved
281288
assert updated_status.submission_annotations is not None
282-
assert "public_score" in updated_status.submission_annotations
283-
assert updated_status.submission_annotations["public_score"] == [78.0]
289+
converted_submission_annotations = from_submission_status_annotations(
290+
updated_status.submission_annotations
291+
)
292+
assert "public_score" in converted_submission_annotations
293+
assert converted_submission_annotations["public_score"] == [78.0]
284294

285295
assert updated_status.annotations is not None
286-
assert "internal_review" in updated_status.annotations
287-
assert updated_status.annotations["internal_review"] == [True]
296+
converted_annotations = from_submission_status_annotations(
297+
updated_status.annotations
298+
)
299+
assert "internal_review" in converted_annotations
300+
assert converted_annotations["internal_review"] == "true"
288301

289302
async def test_store_submission_status_with_private_annotations_false(
290303
self, test_submission_status: SubmissionStatus
@@ -557,8 +570,11 @@ async def test_batch_update_submission_statuses(
557570
synapse_client=self.syn
558571
)
559572
assert updated_status.status == "VALIDATED"
560-
assert "batch_score" in updated_status.submission_annotations
561-
assert updated_status.submission_annotations["batch_processed"] == [True]
573+
converted_submission_annotations = from_submission_status_annotations(
574+
updated_status.submission_annotations
575+
)
576+
assert "batch_score" in converted_submission_annotations
577+
assert converted_submission_annotations["batch_processed"] == ["true"]
562578

563579
async def test_batch_update_submission_statuses_large_batch(
564580
self, test_evaluation: Evaluation

0 commit comments

Comments
 (0)