From: Kai Moritz Date: Sun, 22 May 2022 16:07:10 +0000 (+0200) Subject: Some private notes, concerning the revealed insights of the experiment X-Git-Url: https://juplo.de/gitweb/?p=demos%2Fexample-siren;a=commitdiff_plain;h=8c6795dbb8bbc957bc27237063f6429d54a25ac7 Some private notes, concerning the revealed insights of the experiment --- diff --git a/README.md b/README.md index b6eb530..afe9eae 100644 --- a/README.md +++ b/README.md @@ -261,3 +261,25 @@ See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:comm BUILD FAILED in 4s 8 actionable tasks: 6 executed, 2 up-to-date ``` + +# Notizen + +* Die Anordnung der Kontrakte ist je nach Implementierung unterschiedlich. +* __Dies ist kein Fehler!__ + * Der JavaScript-Consumer erweckt den Anschein, dass die Reihenfolge + der Aufrufe im Kontrakt erhalten bleibt, so dass beim Testen des + Providers gegen den Kontrakt automatisch der benötigte Zustand + existiert. + * Dies ist aber _nicht_ so und soll so auch nicht sein. + * Der Provider ist in diesem Beispiel einfach so implementiert, dass er + gar keinen Zustand hält und nur das erwartete JSON für ausgedacht Werte + erzeugt. + * Ein Test mehrerer aufeinander folgenden Aufrufe, die sich selbst den + benötigten Zustand erzeugen (z.B. Erzeugen / Auflisten / Löschen) ist + nicht möglich und aus der Sicht von Pact auch nicht sinnvoll! + * Der Kotrakt soll nur sicherstellen, dass sich Consumer und Provider + verstehen. +* Für den Vergleich, den Pact normalisieren mit: + ``` + cat PATH_TO_PACT | jq '.interactions|=sort_by(.description)' > NORMALIZED + ```