Reject empty asset link list in discovery `PostAllAssetLinksById`
Maintainer antworten meist innerhalb von 6 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 82/100
Rechercherichtung
Beginne mit post_all_asset_links_by_id in server/app/interfaces/discovery.py und finde die zugehörigen Tests für POST /lookup/shells/{aasIdentifier}. Ergänze Tests, die zeigen, dass eine leere Liste 400 zurückgibt und vorhandene Asset-Links unverändert lässt. Das Issue ist erledigt, wenn dieses Verhalten durch einen bestandenen Test abgedeckt ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Currently, POST /lookup/shells/{aasIdentifier} accepts an empty list [] as request body. post_all_asset_links_by_id then deletes the
existing links and add_specific_asset_ids_to_aas() stores an empty set for the AAS:
This leads to an inconsistent state:
- A following
DELETE /lookup/shells/{aasIdentifier}returns204, although no asset links exist for the AAS. #625 / #641 changed this
case to return404. DiscoveryStore.to_file()persists the empty entry.
The specification defines the input parameter assetLinks of PostAllAssetLinksById as mandatory with cardinality 1..*, see
IDTA-01002 v3.1.1, Operation PostAllAssetLinksById. Note that the OpenAPI file (V3.1_SSP-001.yaml) does not enforce this with minItems: 1, so a schema validator would not catch it.
The server should respond with 400 (ClientErrorBadRequest) to an empty list, without changing the stored asset links. A test should
cover this case.
Found during review of #641
- Vorherrschende Sprache
- Python
- Sterne
- 106
- Forks
- 67
- Ø Merge
- 3 T. 18 Std.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus eclipse-basyx/basyx-python-sdk
-
Align discovery `GetAllAssetLinksById` and `PostAllAssetLinksById` responses with the specificationOffenbug server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
eclipse-basyx/basyx-python-sdk#690 ·
Maintainer antworten meist innerhalb von 6 Tagen
-
adapter.json, adapter.xml: Falsy Extension and Qualifier values omittedEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
eclipse-basyx/basyx-python-sdk#682 ·
Maintainer antworten meist innerhalb von 6 Tagen
-
adapter.aasx: Failsafe writer adds duplicate parts for conflicting filesEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug learn-basyx-python sdk
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
eclipse-basyx/basyx-python-sdk#671 ·
Maintainer antworten meist innerhalb von 6 Tagen
-
enhancement learn-basyx-python server
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
eclipse-basyx/basyx-python-sdk#670 ·
Maintainer antworten meist innerhalb von 6 Tagen
-
adapter.aasx: Missing supplementary file aborts reading with failsafeEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenbug learn-basyx-python sdk
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
eclipse-basyx/basyx-python-sdk#665 ·
Maintainer antworten meist innerhalb von 6 Tagen
Alle Issues in eclipse-basyx/basyx-python-sdk
Ähnliche Issues
-
question
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
vllm-project/vime#524 ·
Maintainer antworten meist innerhalb von 7 Tagen
-
WOPI editor page is scrollable by a few pixels, which breaks scrolling in the document (Firefox)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
suitenumerique/drive#969 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
theupdateframework/python-tuf#3044 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
FAIRmat-NFDI/pynxtools#861 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
NVIDIA/nsight-python#88 ·
Maintainer antworten meist innerhalb von 1 Tag