Skip to content

Commit 9d2fc78

Browse files
committed
SDK-711: Add ParentRememberMeID
1 parent e8e2d7b commit 9d2fc78

File tree

8 files changed

+61
-3
lines changed

8 files changed

+61
-3
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ client = Client(YOTI_CLIENT_SDK_ID, YOTI_KEY_FILE_PATH)
120120
activity_details = client.get_activity_details(token)
121121

122122
profile = activity_details.profile
123-
123+
124124
selfie = profile.selfie.value
125125
given_names = profile.given_names.value
126126
family_name = profile.family_name.value
@@ -131,8 +131,9 @@ postal_address = profile.postal_address.value
131131
gender = profile.gender.value
132132
nationality = profile.nationality.value
133133
email_address = profile.email_address.value
134-
134+
135135
remember_me_id = activity_details.user_id
136+
parent_remember_me_id = activity_details.parent_remember_me_id
136137
receipt_id = activity_details.receipt_id
137138
timestamp = activity_details.timestamp
138139
base64_selfie_uri = activity_details.base64_selfie_uri
@@ -281,6 +282,7 @@ For information on testing with multiple Python versions, see [VERSION-SUPPORT.m
281282

282283
* Activity Details
283284
* [X] Remember Me ID `user_id`
285+
* [X] Parent Remember Me ID `parent_remember_me_id`
284286
* [X] ReceiptID `receipt_id`
285287
* [X] Timestamp `timestamp`
286288
* [X] Profile `profile`

examples/yoti_example_django/yoti_example/templates/profile.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ <h3>Yoti Profile</h3>
4646
<td>{{user_id}}</td>
4747
</tr>
4848
{% endif %}
49+
{% if parent_remember_me_id %}
50+
<tr>
51+
<th scope="row">Parent Remember Me ID</th>
52+
<td>{{parent_remember_me_id}}</td>
53+
</tr>
54+
{% endif %}
4955
{% if given_names %}
5056
<tr>
5157
<th scope="row">Given Name(s)</th>

examples/yoti_example_django/yoti_example/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ def get(self, request, *args, **kwargs):
3030
context = profile_dict.get('attributes')
3131
context['base64_selfie_uri'] = getattr(activity_details, 'base64_selfie_uri')
3232
context['user_id'] = getattr(activity_details, 'user_id')
33+
context['parent_remember_me_id'] = getattr(activity_details, 'parent_remember_me_id')
3334
context['receipt_id'] = getattr(activity_details, 'receipt_id')
3435
context['timestamp'] = getattr(activity_details, 'timestamp')
3536

examples/yoti_example_flask/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ def auth():
4141
context = profile_dict.get('attributes')
4242
context['base64_selfie_uri'] = getattr(activity_details, 'base64_selfie_uri')
4343
context['user_id'] = getattr(activity_details, 'user_id')
44+
context['parent_remember_me_id'] = getattr(activity_details, 'parent_remember_me_id')
4445
context['receipt_id'] = getattr(activity_details, 'receipt_id')
4546
context['timestamp'] = getattr(activity_details, 'timestamp')
4647

examples/yoti_example_flask/templates/profile.html

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ <h3>Yoti Profile</h3>
4646
<td>{{user_id}}</td>
4747
</tr>
4848
{% endif %}
49+
{% if parent_remember_me_id %}
50+
<tr>
51+
<th scope="row">Parent Remember Me ID</th>
52+
<td>{{parent_remember_me_id}}</td>
53+
</tr>
54+
{% endif %}
4955
{% if given_names %}
5056
<tr>
5157
<th scope="row">Given Name(s)</th>

yoti_python_sdk/activity_details.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ def __init__(self, receipt, decrypted_profile=None):
3939
self.ensure_postal_address()
4040

4141
self.user_id = receipt.get('remember_me_id')
42+
self.parent_remember_me_id = receipt.get('parent_remember_me_id')
4243
self.outcome = receipt.get('sharing_outcome')
4344
self.receipt_id = receipt.get('receipt_id')
4445
timestamp = receipt.get('timestamp')
@@ -86,6 +87,7 @@ def ensure_postal_address(self):
8687

8788
def __iter__(self):
8889
yield 'user_id', self.user_id
90+
yield 'parent_remember_me_id', self.parent_remember_me_id
8991
yield 'outcome', self.outcome
9092
yield 'receipt_id', self.receipt_id
9193
yield 'user_profile', self.user_profile

yoti_python_sdk/tests/conftest.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ def user_id():
4545
return 'ijH4kkqMKTG0FSNUgQIvd2Z3Nx1j8f5RjVQMyoKOvO/hkv43Ik+t6d6mGfP2tdrN'
4646

4747

48+
@pytest.fixture(scope='module')
49+
def parent_remember_me_id():
50+
return 'f5RjVQMyoKOvO/hkv43Ik+t6d6mGfP2tdrNijH4k4qafTG0FSNUgQIvd2Z3Nx1j8'
51+
52+
4853
@pytest.fixture(scope='module')
4954
def receipt_id():
5055
return 'Eq3+P8qjAlxr4d2mXKCUvzKdJTchI53ghwYPZXyA/cF5T+m/HCP1bK5LOmudZASN'
@@ -58,6 +63,7 @@ def timestamp():
5863
@pytest.fixture(scope='module')
5964
def successful_receipt():
6065
return {'remember_me_id': user_id(),
66+
'parent_remember_me_id': parent_remember_me_id(),
6167
'receipt_id': receipt_id(),
6268
'timestamp': timestamp(),
6369
'sharing_outcome': 'SUCCESS'}
@@ -70,6 +76,13 @@ def failure_receipt():
7076
'timestamp': timestamp()}
7177

7278

79+
@pytest.fixture(scope='module')
80+
def empty_strings():
81+
return {'remember_me_id': '',
82+
'parent_remember_me_id': '',
83+
'sharing_outcome': ''}
84+
85+
7386
@pytest.fixture(scope='module')
7487
def no_values_receipt():
7588
return {}

yoti_python_sdk/tests/test_activity_details.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
from yoti_python_sdk import config
99
from yoti_python_sdk.activity_details import ActivityDetails
1010
from yoti_python_sdk.protobuf.v1.protobuf import Protobuf
11-
from yoti_python_sdk.tests.conftest import successful_receipt, failure_receipt, no_values_receipt, user_id
11+
from yoti_python_sdk.tests.conftest import successful_receipt, failure_receipt, \
12+
no_values_receipt, user_id, parent_remember_me_id, empty_strings
1213

1314
ADDRESS_FORMAT_KEY = "address_format"
1415
ADDRESS_FORMAT_VALUE = 1
@@ -117,6 +118,32 @@ def test_missing_values_handled():
117118
assert isinstance(activity_details, ActivityDetails)
118119

119120

121+
def test_remember_me_id_empty():
122+
activity_details = ActivityDetails(empty_strings())
123+
124+
assert activity_details.user_id == ''
125+
assert isinstance(activity_details, ActivityDetails)
126+
127+
128+
def test_remember_me_id_valid():
129+
activity_details = ActivityDetails(successful_receipt())
130+
131+
assert activity_details.user_id == user_id()
132+
133+
134+
def test_parent_remember_me_id_empty():
135+
activity_details = ActivityDetails(empty_strings())
136+
137+
assert activity_details.user_id == ''
138+
assert isinstance(activity_details, ActivityDetails)
139+
140+
141+
def test_parent_remember_me_id_valid():
142+
activity_details = ActivityDetails(successful_receipt())
143+
144+
assert activity_details.parent_remember_me_id == parent_remember_me_id()
145+
146+
120147
def test_try_parse_age_verified_field_age_over():
121148
activity_details = ActivityDetails(successful_receipt())
122149
create_age_verified_field(activity_details, True, "true".encode(), 18)

0 commit comments

Comments
 (0)