80 lines
2.0 KiB
Markdown
80 lines
2.0 KiB
Markdown
# 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-%';"
|
|
```
|