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