Testing Tools
Dieser Ordner enthält Test-Skripte für die Renewal-Funktion.
Struktur
scripts/test_renewal.go- Skript zum Erstellen von Test-Queue-Einträgen
Hinweis: Die Test-Handler (renewal_test_handlers.go) befinden sich im Hauptverzeichnis (backend/), da sie Teil des package main sein müssen, um von main.go aufgerufen werden zu können.
Test-Handler
Die Test-Handler werden automatisch in main.go registriert und sind nur für Administratoren zugänglich:
POST /api/renewal-queue/test/create- Erstellt einen Test-Queue-EintragPOST /api/renewal-queue/test/trigger- Führt die Queue-Verarbeitung manuell aus
Test-Skript
Das Test-Skript erstellt Test-Queue-Einträge mit verschiedenen Zeitstempeln:
cd backend/testing/scripts
go run test_renewal.go
Das Skript:
- Findet existierende FQDNs mit Zertifikaten
- Erstellt Test-Queue-Einträge mit verschiedenen Zeitstempeln
- Zeigt den aktuellen Queue-Status an
Manuelle Tests über API
1. Test-Queue-Eintrag erstellen:
curl -X POST "http://localhost:8080/api/renewal-queue/test/create" \
-u admin:admin \
-H "Content-Type: application/json" \
-d '{
"certificateId": "CERT_ID",
"fqdnId": "FQDN_ID",
"spaceId": "SPACE_ID",
"minutesFromNow": -5
}'
Hinweis: minutesFromNow: -5 bedeutet, dass der Eintrag vor 5 Minuten geplant war (also sofort fällig).
2. Queue-Verarbeitung manuell auslösen:
curl -X POST "http://localhost:8080/api/renewal-queue/test/trigger" \
-u admin:admin \
-H "Content-Type: application/json"
Dies führt processRenewalQueue() direkt aus, ohne auf den Scheduler zu warten.
3. Queue-Status abrufen:
curl -X GET "http://localhost:8080/api/renewal-queue" \
-u admin:admin
Aufräumen
Test-Queue-Einträge können über SQL gelöscht werden:
DELETE FROM renewal_queue WHERE id LIKE 'test-%';
Oder über die Datenbank:
sqlite3 spaces.db "DELETE FROM renewal_queue WHERE id LIKE 'test-%';"