diff --git a/auth-api/src/auth_api/schemas/affiliation_invitation.py b/auth-api/src/auth_api/schemas/affiliation_invitation.py index 9dea729ed..8ae465920 100644 --- a/auth-api/src/auth_api/schemas/affiliation_invitation.py +++ b/auth-api/src/auth_api/schemas/affiliation_invitation.py @@ -55,7 +55,8 @@ class AffiliationInvitationSchemaPublic(AffiliationInvitationSchema): """This is the public schema for the Affiliation Invitation model that masks the email.""" @post_dump(pass_many=False) - def _mask_recipient_email_field(self, data, many): # noqa: ARG002 + def mask_email_hide_token(self, data, many): # noqa: ARG002 """Mask recipient email field.""" data["recipient_email"] = mask_email(data.get("recipient_email")) + data.pop("token", None) return data diff --git a/auth-api/tests/unit/api/test_affiliation_invitation.py b/auth-api/tests/unit/api/test_affiliation_invitation.py index 310bcfd9e..66a8a89b8 100644 --- a/auth-api/tests/unit/api/test_affiliation_invitation.py +++ b/auth-api/tests/unit/api/test_affiliation_invitation.py @@ -101,7 +101,7 @@ def test_add_affiliation_invitation( dictionary = json.loads(rv_invitation.data) assert rv_invitation.status_code == HTTPStatus.CREATED - assert dictionary.get("token") is not None + assert dictionary.get("token") is None result_json = rv_invitation.json assert schema_utils.validate(result_json, "affiliation_invitation_response")[0] @@ -168,7 +168,7 @@ def test_add_affiliation_invitation_exclude_to_org( dictionary = json.loads(rv_invitation.data) assert rv_invitation.status_code == HTTPStatus.CREATED - assert dictionary.get("token") is not None + assert dictionary.get("token") is None result_json = rv_invitation.json assert schema_utils.validate(result_json, "affiliation_invitation_response")[0] diff --git a/auth-api/tests/unit/services/test_affiliation_invitation.py b/auth-api/tests/unit/services/test_affiliation_invitation.py index 86e53bbdd..6530ce23c 100644 --- a/auth-api/tests/unit/services/test_affiliation_invitation.py +++ b/auth-api/tests/unit/services/test_affiliation_invitation.py @@ -502,12 +502,15 @@ def test_update_invitation_verify_different_tokens(session, auth_mock, keycloak_ new_invitation = AffiliationInvitationService.create_affiliation_invitation( affiliation_invitation_info, User(user) ) - old_token = new_invitation.as_dict().get("token") + new_invitation_id = new_invitation.as_dict().get("id") + invitation_model = AffiliationInvitationModel.find_by_id(new_invitation_id) + old_token = invitation_model.token with freeze_time( lambda: datetime.now() + timedelta(seconds=1) ): # to give time difference..or else token will be same.. updated_invitation = new_invitation.update_affiliation_invitation(User(user), {}).as_dict() - new_token = updated_invitation.get("token") + updated_invitation_model = AffiliationInvitationModel.find_by_id(new_invitation_id) + new_token = updated_invitation_model.token assert old_token != new_token assert updated_invitation["status"] == "PENDING"