False invalid schema status + invalid errors thrown for service with multiple annotations to same target
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 268
- Forks
- 100
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
This issue is reproducible with pyodata 1.7.0 and metadata file in https://github.com/phanak-sap/pyodata-issue-files/tree/master/%23142
Root cause is that multiple annotations having same target, which is OK by odata standard. Search Target="FAR_MANAGE_PAYMENT_ADVICES_SRV.C_PaymentAdviceType/PaymentAdviceAccount" in the metadata file.
Pyodata validator wrongly expects 0..1 relationship only.
Possible solutions:
A) fix the validation for 0..* relationships
B) ignore the validation of annotations completely (since there could be literally anything, including other annotation definition), similar to our JS counterpart library, https://github.com/SAP/odata-library - where the service is initialized without problem.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le fichier de métadonnées lié dans l’issue et recherchez Target="FAR_MANAGE_PAYMENT_ADVICES_SRV.C_PaymentAdviceType/PaymentAdviceAccount". Suivez le fonctionnement du validateur pyodata qui traite les annotations avec cette cible et reproduisez l’initialisation du service avec pyodata 1.7.0. C’est terminé lorsque le service accepte plusieurs annotations pour une même cible sans signaler de schéma invalide ni lever d’erreurs invalides.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100