# 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: ```bash 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: ```bash 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: ```bash 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: ```bash 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: ```sql DELETE FROM renewal_queue WHERE id LIKE 'test-%'; ``` Oder über die Datenbank: ```bash sqlite3 spaces.db "DELETE FROM renewal_queue WHERE id LIKE 'test-%';" ```