Skip to content

Commit caa7f6b

Browse files
authored
Affiliation performance fix (#3536)
1 parent ad0095a commit caa7f6b

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

auth-api/src/auth_api/schemas/affiliation_invitation.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ class AffiliationInvitationSchemaPublic(AffiliationInvitationSchema):
5555
"""This is the public schema for the Affiliation Invitation model that masks the email."""
5656

5757
@post_dump(pass_many=False)
58-
def _mask_recipient_email_field(self, data, many): # noqa: ARG002
58+
def mask_email_hide_token(self, data, many): # noqa: ARG002
5959
"""Mask recipient email field."""
6060
data["recipient_email"] = mask_email(data.get("recipient_email"))
61+
data.pop("token", None)
6162
return data

auth-api/tests/unit/api/test_affiliation_invitation.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ def test_add_affiliation_invitation(
101101
dictionary = json.loads(rv_invitation.data)
102102

103103
assert rv_invitation.status_code == HTTPStatus.CREATED
104-
assert dictionary.get("token") is not None
104+
assert dictionary.get("token") is None
105105
result_json = rv_invitation.json
106106

107107
assert schema_utils.validate(result_json, "affiliation_invitation_response")[0]
@@ -168,7 +168,7 @@ def test_add_affiliation_invitation_exclude_to_org(
168168
dictionary = json.loads(rv_invitation.data)
169169

170170
assert rv_invitation.status_code == HTTPStatus.CREATED
171-
assert dictionary.get("token") is not None
171+
assert dictionary.get("token") is None
172172
result_json = rv_invitation.json
173173

174174
assert schema_utils.validate(result_json, "affiliation_invitation_response")[0]

auth-api/tests/unit/services/test_affiliation_invitation.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,12 +502,15 @@ def test_update_invitation_verify_different_tokens(session, auth_mock, keycloak_
502502
new_invitation = AffiliationInvitationService.create_affiliation_invitation(
503503
affiliation_invitation_info, User(user)
504504
)
505-
old_token = new_invitation.as_dict().get("token")
505+
new_invitation_id = new_invitation.as_dict().get("id")
506+
invitation_model = AffiliationInvitationModel.find_by_id(new_invitation_id)
507+
old_token = invitation_model.token
506508
with freeze_time(
507509
lambda: datetime.now() + timedelta(seconds=1)
508510
): # to give time difference..or else token will be same..
509511
updated_invitation = new_invitation.update_affiliation_invitation(User(user), {}).as_dict()
510-
new_token = updated_invitation.get("token")
512+
updated_invitation_model = AffiliationInvitationModel.find_by_id(new_invitation_id)
513+
new_token = updated_invitation_model.token
511514
assert old_token != new_token
512515
assert updated_invitation["status"] == "PENDING"
513516

0 commit comments

Comments
 (0)