In den "run configuration":
-
setze "main class" auf
io.cucumber.junit.TigerCucumberRunner
-
setze folgende "glue code packages"
net.serenitybdd.cucumber.actors
de.gematik.test.tiger.hooks
de.gematik.test.tiger.glue
de.gematik.tim.test.glue
Für die Entwicklung dieser Testsuite wurde das Tiger-Framework benutzt. Im folgenden Link finden sie das Tiger-Manual für weitere Informationen.
Wenn die Clean-Endpunkte auch aus Intellij getriggert werden sollen muss der Runconfiguration außerdem noch
-Dcucumber.plugin=de.gematik.tim.test.glue.api.utils.cleaning.CucumberListener
als VM Options mitgegeben werden.
Um TLS zu deaktivieren dürfen die Umgebungsvariablen nicht gesetzt werden und in der tiger.yml müssen Zeile 2 und 3. gelöscht werden
Important
|
Zeile 1 "tigerProxy:" muss weiterhin stehen bleiben |
tigerProxy:
tls:
forwardMutualTlsIdentity: "${TIM_KEYSTORE};${TIM_KEYSTORE_PW};pkcs12"
Mit dieser Konfiguration müssen alle Links in der combine_items.json auf http
gesetzt werden.
Das Parameter-Plugin erstellt aus den bereitgestellten Schnittstellen aus dem combine_items.json alle nach den Filtern mögliche Kombinationen für jeden einzelnen Testfall. Hierzu werden alle Templates aus dem Testordner in den Buildordner kopiert und mit den jeweiligen Tabellen befüllt. Die so bearbeiteten Files werden beim starten der Testsuite herangezogen.
Bei einer geringen Anzahl von Schnittstellen mit zu wenig Variation in ihren Eigenschaften, kann es schnell dazu führen, dass das Plugin den Buildvorgang abbricht. Um dies zu ignorieren können die Schritte konfiguriert werden.
Per default fragt das Plugin die Info-Schnittstelle ab und fügt notwendige Tags und Properties hinzu.
Für eine genauere Steuerung oder sollte die Info-Schnittstelle noch nicht vollständig implementiert sein, kann die combine_items.json
händisch erstellt und verwendet werden.
Hierzu kann maven mit dem Profil disable-prepare-items
verwendet werden.
maven clean install -P disable-prepare-items
Über den Parameter -DclaimDuration=<seconds>
kann die Zeit beeinflusst werden, die ein Device geclaimed bleiben soll.
Es sind nur ganzzahlige Sekundenwerte möglich.
Über den Parameter -DclaimParallel=<true/false>
kann angegeben werden, ob claims parallelisiert ausgeführt werden sollen.
Per default ist dies deaktiviert.
Parallele claims können für einzelne Testfälle oder Feature Files deaktiviert werden, indem sie mit dem Tag @NoParallel
versehen werden.
Das kann hilfreich sein, wenn es zu Problemen mit dem claiming kommt.
Every testcase run is identified with the testcase name and an id that identifies the specific run.
This id is sent in every request in the header Test-Case-Id
.
It is build like <TestcaseId>/<TestrunUUID>
.
Please keep in mind to start compose-ci-local.yaml bevor running CI-Profile locally!!!
The cleanup trigger is used to avoid data-trash , cause of broken testcases , in the database. It is triggered before every testcase by the api call "cleanup" tagged with signalTestStart. For more information see the API: testdriver.yaml All endpoints involved in this testcase will be triggered. If the testcase has no OrgAdmins, they will be filtered by the home-servers used in this testcase.
-
Es kann beim Generieren des Codes aus der Testtreiberschnittstelle passieren, dass zusätzliche
/
in den Requestpath erstellt werden. Diese können zu Inkompatibilitäten führen. Dies kann auf Seiten der Testsuite umgangen werden indem in der Klasse TestdriverApiPath bei INFO_PATH und DEVICES_PATH der vorgestellte/
entfernt wird.