# Test-Skripte ## Test-Logs generieren Das Skript `generate_test_logs.go` erstellt 3000 Test-Audit-Logs für Testzwecke. ### Verwendung: ```bash 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: ```bash 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: ```bash 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: ```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-%';" ```