Skip to content

Commit 3a605a9

Browse files
author
Elias Benussi
committed
Serialise as Boolean if operator is defined
1 parent 2d4050c commit 3a605a9

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

faculty/clients/experiment.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,9 @@ def _deserialize(self, value, attr, data, **kwargs):
365365
return value
366366

367367
def _serialize(self, value, attr, obj, **kwargs):
368-
if obj.by in {SingleFilterBy.PROJECT_ID, SingleFilterBy.RUN_ID}:
368+
if obj.operator == SingleFilterOperator.DEFINED:
369+
field = fields.Boolean()
370+
elif obj.by in {SingleFilterBy.PROJECT_ID, SingleFilterBy.RUN_ID}:
369371
field = fields.UUID()
370372
elif obj.by == SingleFilterBy.EXPERIMENT_ID:
371373
field = fields.Integer()

tests/clients/test_experiment.py

+11
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,16 @@ def test_experiment_run_data_schema_multiple():
384384
"value": DELETED_AT_STRING_PYTHON,
385385
}
386386

387+
DELETED_FILTER = SingleFilter(
388+
SingleFilterBy.DELETED_AT, None, SingleFilterOperator.DEFINED, True
389+
)
390+
DELETED_FILTER_BODY = {
391+
"by": "deletedAt",
392+
"key": None,
393+
"operator": "defined",
394+
"value": True,
395+
}
396+
387397
TAG_FILTER = SingleFilter(
388398
SingleFilterBy.TAG, "tag_key", SingleFilterOperator.EQUAL_TO, "tag_value"
389399
)
@@ -488,6 +498,7 @@ def test_experiment_run_data_schema_multiple():
488498
[EXPERIMENT_ID_FILTER, EXPERIMENT_ID_FILTER_BODY],
489499
[RUN_ID_FILTER, RUN_ID_FILTER_BODY],
490500
[DELETED_AT_FILTER, DELETED_AT_FILTER_BODY],
501+
[DELETED_FILTER, DELETED_FILTER_BODY],
491502
[TAG_FILTER, TAG_FILTER_BODY],
492503
[PARAM_NUM_FILTER, PARAM_NUM_FILTER_BODY],
493504
[PARAM_TEXT_FILTER, PARAM_TEXT_FILTER_BODY],

0 commit comments

Comments
 (0)