Skip to content

Commit 1137322

Browse files
committed
SDK-765: Convert multivalue list to tuple
1 parent 700c24a commit 1137322

File tree

3 files changed

+20
-21
lines changed

3 files changed

+20
-21
lines changed

yoti_python_sdk/attribute_parser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def value_based_on_content_type(value, content_type=None):
2626
int_value = int(string_value)
2727
return int_value
2828
elif content_type == Protobuf.CT_MULTI_VALUE:
29-
return multivalue.parse(value)
29+
return tuple(multivalue.parse(value))
3030

3131
if logging.getLogger().propagate:
3232
logging.warning("Unknown type '{0}', attempting to parse it as a String".format(content_type))

yoti_python_sdk/tests/test_multivalue.py

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,17 @@
55

66

77
def test_multi_value_filter_image():
8-
multi_value = attribute_fixture_parser.parse_multi_value()
9-
multi_value.append(0)
10-
multi_value.append("string_value")
8+
parsed_images = attribute_fixture_parser.parse_multi_value()
9+
multi_value = [parsed_images[0], parsed_images[1], 0, "string_value"]
1110

1211
assert len(multi_value) == 4
1312

14-
filtered_list = multivalue.filter_values(multi_value, Image)
13+
filtered_tuple = multivalue.filter_values(multi_value, Image)
1514

16-
assert len(filtered_list) == 2
15+
assert len(filtered_tuple) == 2
1716

18-
image_helper.assert_is_expected_image(filtered_list[0], "jpeg", "vWgD//2Q==")
19-
image_helper.assert_is_expected_image(filtered_list[1], "jpeg", "38TVEH/9k=")
17+
image_helper.assert_is_expected_image(filtered_tuple[0], "jpeg", "vWgD//2Q==")
18+
image_helper.assert_is_expected_image(filtered_tuple[1], "jpeg", "38TVEH/9k=")
2019

2120

2221
def test_multi_value_filter_int():
@@ -25,10 +24,10 @@ def test_multi_value_filter_int():
2524

2625
assert len(multi_value) == 2
2726

28-
filtered_list = multivalue.filter_values(multi_value, int)
27+
filtered_tuple = multivalue.filter_values(multi_value, int)
2928

30-
assert len(filtered_list) == 1
31-
assert filtered_list[0] is int_value
29+
assert len(filtered_tuple) == 1
30+
assert filtered_tuple[0] is int_value
3231

3332

3433
def test_multi_value_filter_string():
@@ -37,18 +36,18 @@ def test_multi_value_filter_string():
3736

3837
assert len(multi_value) == 2
3938

40-
filtered_list = multivalue.filter_values(multi_value, str)
39+
filtered_tuple = multivalue.filter_values(multi_value, str)
4140

42-
assert len(filtered_list) == 1
43-
assert filtered_list[0] is string_value
41+
assert len(filtered_tuple) == 1
42+
assert filtered_tuple[0] is string_value
4443

4544

4645
def test_multi_value_filter_is_immutable():
4746
original_string_value = "string_value"
4847
multi_value = [0, original_string_value]
4948

50-
filtered_list = multivalue.filter_values(multi_value, str)
49+
filtered_tuple = multivalue.filter_values(multi_value, str)
5150

52-
filtered_list[0] == "changed_string_value"
51+
filtered_tuple[0] == "changed_string_value"
5352

54-
assert filtered_list[0] == original_string_value
53+
assert filtered_tuple[0] == original_string_value

yoti_python_sdk/tests/test_profile.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -391,20 +391,20 @@ def test_nested_multi_value():
391391
attribute_name = "nested_multi_value"
392392
inner_multi_value = attribute_fixture_parser.parse_multi_value()
393393

394-
outer_list = [inner_multi_value]
394+
outer_tuple = (inner_multi_value,)
395395

396396
profile = Profile(profile_attributes=None)
397397
profile.attributes[attribute_name] = Attribute(
398398
name=attribute_name,
399-
value=outer_list,
399+
value=outer_tuple,
400400
anchors=None)
401401

402402
retrieved_multi_value = profile.get_attribute(attribute_name)
403403

404-
assert isinstance(retrieved_multi_value.value, list)
404+
assert isinstance(retrieved_multi_value.value, tuple)
405405

406406
for item in retrieved_multi_value.value:
407-
assert isinstance(item, list)
407+
assert isinstance(item, tuple)
408408

409409
image_helper.assert_is_expected_image(retrieved_multi_value.value[0][0], "jpeg", "vWgD//2Q==")
410410
image_helper.assert_is_expected_image(retrieved_multi_value.value[0][1], "jpeg", "38TVEH/9k=")

0 commit comments

Comments
 (0)