API-Specs lassen sich bei strikten Einstellungen nicht erfolgreich gegen die Implementierung validieren
Hintergrund
Betrifft submission-api, destination-api und die interne clients-api, die alle vom Zustelldienst implementiert werden.
In den Tests des Zustelldiensts werden alle Requests und Responses gegen die API-Spezifikationen validiert.
Leider ist im Zuge von #2241 (closed) aufgefallen, dass die Validierung mit AdditionalPropertiesIgnored
durchgeführt wurde, also Felder, die der Zustelldienst annimmt oder zurückgibt, obwohl sie nicht in der Spec vorkommen, keinen Validierungsfehler zur Folge haben. Dies stellt eine erhebliche Fehlerquelle dar und sollte behoben werden.
Entfernt man das Flag, schlagen aber Validierungen für alle 3 APIs fehl - wir müssen also erneut Schema-Anpassungen durchführen.
Lösung
- Das Flag
AdditionalPropertiesIgnored
wird aus den Tests entfernt - Felder, die in der Spec vergessen wurden, aber de fakto unterstützt werden, werden in den Specs nachgerüstet
- Die Validierungs-Lib kann nicht mit
allOf
umgehen. Dieses Feature in unseren Specs hat ohnehin keinen Nutzen und kann durch inline Code ersetzt werden.