SAP / SAP/python-pyodata

False invalid schema status + invalid errors thrown for service with multiple annotations to same target

Offen
#142 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
Python
Sterne
268
Forks
100
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der in der Issue verlinkten Metadatendatei und suche nach Target="FAR_MANAGE_PAYMENT_ADVICES_SRV.C_PaymentAdviceType/PaymentAdviceAccount". Verfolge die pyodata-Validierung, die Annotationen mit diesem Target verarbeitet, und reproduziere die Dienstinitialisierung mit pyodata 1.7.0. Als erledigt gilt die Aufgabe, wenn der Dienst mehrere Annotationen für ein Target akzeptiert, ohne ein ungültiges Schema zu melden oder ungültige Fehler auszulösen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.