Skip to content

Commit 3783ee8

Browse files
authoredAug 30, 2022
Merge pull request #1894 from rmnre/fix/SchemasInputDescriptorFilter-deserialization
Fix: SchemasInputDescriptorFilter: broken deserialization renders generated clients unusable
2 parents 5a636d6 + 7ed6e4b commit 3783ee8

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed
 

Diff for: ‎aries_cloudagent/protocols/present_proof/dif/pres_exch.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,9 @@ def extract_info(self, data, **kwargs):
237237
"""deserialize."""
238238
new_data = {}
239239
if isinstance(data, dict):
240-
if "oneof_filter" in data:
240+
if "uri_groups" in data:
241+
return data
242+
elif "oneof_filter" in data and isinstance(data["oneof_filter"], list):
241243
new_data["oneof_filter"] = True
242244
uri_group_list_of_list = []
243245
uri_group_list = data.get("oneof_filter")

Diff for: ‎aries_cloudagent/protocols/present_proof/dif/tests/test_pres_exch.py

+12
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,10 @@ def test_schemas_input_desc_filter(self):
395395
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(
396396
test_schemas_filter
397397
)
398+
ser_schema_filter = deser_schema_filter.serialize()
399+
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(
400+
ser_schema_filter
401+
)
398402
assert deser_schema_filter.oneof_filter
399403
assert deser_schema_filter.uri_groups[0][0].uri == test_schema_list[0][0].get(
400404
"uri"
@@ -418,6 +422,10 @@ def test_schemas_input_desc_filter(self):
418422
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(
419423
test_schemas_filter
420424
)
425+
ser_schema_filter = deser_schema_filter.serialize()
426+
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(
427+
ser_schema_filter
428+
)
421429
assert deser_schema_filter.oneof_filter
422430
assert deser_schema_filter.uri_groups[0][0].uri == test_schema_list[0].get(
423431
"uri"
@@ -428,6 +436,10 @@ def test_schemas_input_desc_filter(self):
428436
assert isinstance(deser_schema_filter, SchemasInputDescriptorFilter)
429437

430438
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(test_schema_list)
439+
ser_schema_filter = deser_schema_filter.serialize()
440+
deser_schema_filter = SchemasInputDescriptorFilter.deserialize(
441+
ser_schema_filter
442+
)
431443
assert not deser_schema_filter.oneof_filter
432444
assert deser_schema_filter.uri_groups[0][0].uri == test_schema_list[0].get(
433445
"uri"

0 commit comments

Comments
 (0)