implemented LE and ACME and fixed some bugs
This commit is contained in:
79
backend/testing/README.md
Normal file
79
backend/testing/README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# 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-%';"
|
||||
```
|
||||
Reference in New Issue
Block a user