async def METHOD_NAME(
    gql_manager_client: AsyncClientSession,
    sophie_tifour_beneficiary_id: UUID,
):
    personne = CdbBeneficiaryInfos(
        right_rsa="rsa_droit_ouvert_et_suspendu",
        rsa_closure_date=None,
        rsa_closure_reason=None,
        rsa_suspension_reason="caf_ressources_trop_elevees",
        is_homeless=False,
        subject_right_and_duty=True,
        caf_number="XXXXXXXX",
    )
    sha = "123"
    external_data = {"payload": "payload", "infos": {"madate": date(2003, 2, 1)}}
    beneficiary = await update_beneficiary(
        gql_manager_client,
        sophie_tifour_beneficiary_id,
        personne,
        sha,
        external_data,
    )
    assert beneficiary
    assert beneficiary.right_rsa == "rsa_droit_ouvert_et_suspendu"
    assert beneficiary.rsa_closure_reason is None
    assert beneficiary.rsa_closure_date is None
    assert beneficiary.rsa_suspension_reason == "caf_ressources_trop_elevees"
    assert beneficiary.is_homeless is False
    assert beneficiary.subject_to_right_and_duty is True
    assert beneficiary.caf_number == "XXXXXXXX"