Files
certigo/backend/scripts

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-%';"