Files
certigo/backend/testing

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-Eintrag
  • POST /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-%';"