Entwicklung
Falls neue Schritte benötigt werden. Können diese relativ simple erweitert werden. Ebenso wird hier beschrieben, wie die CLI funktioniert bzw. lokal ein Test ausgeführt werden kann.
Steps
Um einen Step zu entwickeln, muss zunächst die Struktur der yaml definiert sein. Anschließend kann der Step, Converter und Executor entwickelt werden.
Yaml Sturktur
In der yaml Struktur geht es hauptsächlich um den step: Bereich. Grundsätzliche haben alle Steps immer name und type. Alle weiteren Attribute sind individuell.
Im Beispiel, wird eine ObjGuid des Geschäfts sowie typeKey benötigt. unter fields lassen dich die Felder als Attribute und der Wert direkt mitgeben.
Step
Sofern die Struktur bekannt ist, können die Attribute in der Klasse übernommen werden. Dabei muss die Schnittstelle IStep implementiert werden
Converter
Im Converter findet die Übersetzung der yaml in die Klassen statt. Ebenso wie eine Validierung mit Exceptionhandling über die Konvertierung in die richtigen Datentypen. \ Hier kann auch definiert werden, welche Attribute Pflicht sind und welche optional.
Executor
Zunächst muss im Executor, das Execute mit dem neuen Step definiert werden.
Anschliessend kann die Logik implementiert werden
CLI
Die CLI wird hauptsächlich zu automatisierten Ausführung und anderen Funktionalitäten genutzt. Man kann diese aber auch lokal nutzen. Vorausgesetzt die richtige Datenbank ist local vorhanden.
Help
Wie bei CLIs bekannt, gibt es die Hilfe Funktion. Diese listet die möglichen Funktionalitäten auflistet auf und beschreibt diese.
Run
Zur Ausführung der Test wird das Kommando "run" genutzt. Wird diese ohne weitere Optionen gestartet, werden alle Testcases im Unterordner Testcases, welche keine "Sample" im Dateinamen haben ausgeführt.
Um nicht immer alle Tests auszuführen, kann ein einzelner Test mit -tc und name des Testcases alleine ausgeführt werden.
Result
Das Ergebnis wird in einer Tabellenstruktur ausgegeben und ebenfalls im Projektordner in die Datei Summer.md geschrieben. Diese wird in der Action als Result ausgeben.
Sample
Zu jedem Step sollte als Beispiel eine Sample yaml im Ordner Testcases erstellt werden.
Testing
Parser Test
Jeder Step sollte in der Yaml Datei Sample.yml als eigener Schritt hinzugefügt werden. Dort wird der Converter getestet ob der Parser die Struktur einlesen kann.
Unit Test
Sofern notwendig, sollten Logik Tests als Unit Test aufgebaut werden.
Doku
Die Dokumentation zu den Steps soll um die Neue erweitern werden.