-
Notifications
You must be signed in to change notification settings - Fork 1
Description
User Story
Als Entwickler möchte ich die REST-assured Test-Infrastruktur mit dem ersten automatisierten Test für den /terminvereinbarung/api/2/status/
Endpunkt einrichten, damit die Grundlage für alle weiteren API-Tests geschaffen ist und der wichtigste Status-Endpunkt kontinuierlich überwacht wird.
Als Entwickler: Für Entwickler, die API-Tests schreiben und ausführen müssen.
Damit: Die Test-Infrastruktur ist vollständig konfiguriert und der kritische /status/
Endpunkt wird automatisiert getestet. Dies löst das Problem fehlender API-Test-Automatisierung und schafft die Basis für alle nachfolgenden Endpunkt-Tests.
Quelle: GitHub Issue #1275 - Add Automated Tests for Zmsapi and Zmscitizenapi
Hintergrundinformationen | Informationen für die Umsetzung/Entwicklung
Der /terminvereinbarung/api/2/status/
Endpunkt ist kritisch für die Systemüberwachung und eignet sich ideal als erster automatisierter Test.
Technische Implementierung:
- Maven-Projekt REST-assured Setup in
api-tests/
Verzeichnis - REST Assured Dependency (neueste Version)
- MySQL Testcontainer oder dedizierte Test-DB
- Migrations: Testdaten basierend auf
.resources/zms.sql
(keine Kopplung an Unit-Tests) erste migration ist rein leere Kopie von.resources/zms.sql
. Zweite migration Daten für den Status Endpunkt befüllen - GitHub Actions Integration: Neuer Workflow-Step für API-Tests, MySQL Service Container, Test-Reporting mit Artifacts.
- Wichtig: Die regulären Migrations müssen vor den Testdaten-Migrations ausgeführt werden - analog zu den Unittests bei zmsapi oder zmsdb.
- Workflow läuft nur bei erstellung eines Pull Request nach next und nicht bei jeden Push im feature Branch
Projekt-Struktur Details:
eappointment/
├── api-tests/ # Neue Java/REST Assured Tests
│ ├── pom.xml # Maven Konfiguration
│ ├── src/test/java/ # Test-Implementierungen
│ │ ├── zmsapi/StatusEndpointTest.java # Erster Test
│ │ │ └── helpers/TestDataBuilder.java # Test-Daten Helper
│ ├─┤── src/test/resources/ # Schema und Testdaten
│ │ ├── db/01-base-schema.sql # Kopie von zms.sql
│ │ │ └── db/02-status-test-data.sql # Minimale Testdaten
│ └── README.md # Dokumentation
Diese User Story schafft die technische Grundlage für alle 326 weiteren Endpunkt-Tests und etabliert bewährte Praktiken für die API-Testautomatisierung.
Akzeptanzkriterien
-
api-tests/
Maven-Projekt ist erstellt und konfiguriert - REST Assured Dependency ist eingebunden (aktuellste Version)
- MariaDB Testdatenbank läuft in den Github Actions mit
.resources/zms.sql
als Basisschema - Minimale Testdaten für
/status/
Endpunkt sind in einer Test-Migration erstellt -
StatusEndpointTest.java
ist implementiert und testet erfolgreich - GitHub Actions Workflow ist erweitert und startet die API-Tests nur bei Pull-Request nach next
- Test Reports sind in den Github Actions als Artefakt herunterladbar
-
/status/
Tests laufen erfolgreich in der CI Pipeline - TestDataBuilder Pattern ist implementiert für zukünftige Tests
- Dokumentation README.md für weitere API-Test-Entwicklung ist erstellt