2.5 KiB
2.5 KiB
Test-Skripte
Test-Logs generieren
Das Skript generate_test_logs.go erstellt 3000 Test-Audit-Logs für Testzwecke.
Verwendung:
cd backend/scripts
go run generate_test_logs.go
Konfiguration:
Das Skript verwendet standardmäßig:
- URL:
http://localhost:8080 - Username:
admin - Password:
admin
Diese können im Skript geändert werden, falls nötig.
Was wird erstellt:
- 3000 verschiedene Audit-Log-Einträge
- Verschiedene Aktionen: CREATE, UPDATE, DELETE, UPLOAD, SIGN, ENABLE, DISABLE
- Verschiedene Ressourcentypen: user, space, fqdn, csr, provider, certificate
- Realistische Testdaten mit verschiedenen Details
- Fortschrittsanzeige alle 100 Logs
Alle Logs löschen
Verwende die API, um alle Audit-Logs zu löschen:
curl -X DELETE "http://localhost:8080/api/audit-logs?confirm=true" \
-u admin:admin \
-H "Content-Type: application/json"
Wichtig: Der confirm=true Query-Parameter ist erforderlich, um versehentliches Löschen zu verhindern.
Renewal-Funktion testen
Das Skript test_renewal.go erstellt Test-Queue-Einträge für die Renewal-Funktion.
Verwendung:
cd backend/testing/scripts
go run test_renewal.go
Was wird erstellt:
- Test-Queue-Einträge mit verschiedenen Zeitstempeln:
- Einer sofort fällig (vor 1 Minute)
- Einer in 5 Minuten
- Einer in 10 Minuten
- Verwendet existierende FQDNs mit Zertifikaten
- Zeigt 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-%';"