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

  1. Das Flag AdditionalPropertiesIgnored wird aus den Tests entfernt
  2. Felder, die in der Spec vergessen wurden, aber de fakto unterstützt werden, werden in den Specs nachgerüstet
  3. Die Validierungs-Lib kann nicht mit allOf umgehen. Dieses Feature in unseren Specs hat ohnehin keinen Nutzen und kann durch inline Code ersetzt werden.
Assignee Loading
Time tracking Loading