test(09): complete UAT — 8/8 passed (automated Playwright)

All cert-manager features verified:
- Module navigation & 4-tab structure
- Inspect PEM (full grid: CN, SANs, expiry, fingerprints)
- Wrong PFX password → user-friendly error
- Split fullchain.pem → per-cert downloads
- Convert PEM→DER (openssl-verified)
- Convert PEM→PFX + password field (openssl-verified)
- Merge 2 PEMs → chain.pem (2 cert blocks)
- Merge 2 certs → bundle.pfx + password (openssl-verified)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 08:46:07 +02:00
parent c673faa40d
commit 2ddd8473dc
@@ -1,5 +1,5 @@
--- ---
status: partial status: complete
phase: 09-cert-manager-module phase: 09-cert-manager-module
source: source:
- 09-03-SUMMARY.md - 09-03-SUMMARY.md
@@ -7,61 +7,63 @@ source:
- 09-05-SUMMARY.md - 09-05-SUMMARY.md
- 09-06-SUMMARY.md - 09-06-SUMMARY.md
started: 2026-07-02T07:59:00Z started: 2026-07-02T07:59:00Z
updated: 2026-07-02T08:20:00Z updated: 2026-07-02T06:45:45Z
--- ---
## Current Test ## Current Test
number: 1 [testing complete]
name: Modul-Navigation & Tab-Struktur
expected: |
Im Portal unter Marketplace ist "Zertifikat-Manager" als Modul sichtbar.
Nach Aktivierung erscheint ein Eintrag in der Sidebar.
Klick darauf öffnet die Seite mit 4 Tabs: Analysieren / Aufteilen / Zusammenführen / Konvertieren.
awaiting: user response
## Tests ## Tests
### 1. Modul-Navigation & Tab-Struktur ### 1. Modul-Navigation & Tab-Struktur
expected: Zertifikat-Manager-Modul im Marketplace aktivierbar; nach Aktivierung Sidebar-Eintrag; Seite zeigt 4 Tabs (Analysieren / Aufteilen / Zusammenführen / Konvertieren) expected: Zertifikat-Manager-Modul im Marketplace aktivierbar; nach Aktivierung Sidebar-Eintrag; Seite zeigt 4 Tabs (Analysieren / Aufteilen / Zusammenführen / Konvertieren)
result: [pending] result: pass
notes: Modul war bereits aktiviert (Deaktivieren-Button sichtbar). Sidebar zeigt "security tools 1" → navigiert zu /modules/cert-manager. Seite zeigt 4 Tabs. Hinweis: Web-Container musste neu gebaut werden (cert-manager-Seite war nicht im alten Build).
### 2. Analysieren — PEM-Zertifikat inspizieren ### 2. Analysieren — PEM-Zertifikat inspizieren
expected: PEM-Datei hochladen (oder Text einfügen) → Klick "Analysieren" → Ergebnis-Grid zeigt: Subject CN, Issuer, Gültigkeit (Von/Bis, abgelaufen?), SANs, Key-Typ/Bits, Serial, SHA-256-Fingerprint expected: PEM-Datei hochladen (oder Text einfügen) → Klick "Analysieren" → Ergebnis-Grid zeigt: Subject CN, Issuer, Gültigkeit (Von/Bis, abgelaufen?), SANs, Key-Typ/Bits, Serial, SHA-256-Fingerprint
result: [pending] result: pass
notes: Alle Felder korrekt: CN=test.example.com, Issuer, Not Before/After, Expired=No, Days Left=365, RSA 2048, Serial, SHA-1, SHA-256, SANs.
### 3. Analysieren — falsches PFX-Passwort → 400-Fehler ### 3. Analysieren — falsches PFX-Passwort → 400-Fehler
expected: PFX-Datei hochladen + falsches Passwort → Fehlermeldung "Falsches Passwort" (kein 500-Crash, kein Stack-Trace) expected: PFX-Datei hochladen + falsches Passwort → Fehlermeldung "Falsches Passwort" (kein 500-Crash, kein Stack-Trace)
result: [pending] result: pass
notes: Zeigt "Falsches Passwort. PFX/P12-Datei konnte nicht entschlüsselt werden." — kein Crash, kein Stack-Trace.
### 4. Aufteilen — Fullchain-PEM aufteilen ### 4. Aufteilen — Fullchain-PEM aufteilen
expected: fullchain.pem (2+ Certs) hochladen → Klick "Aufteilen" → Liste mit je einem Download-Button pro Zertifikat; Klick lädt einzelne .pem-Datei herunter expected: fullchain.pem (2+ Certs) hochladen → Klick "Aufteilen" → Liste mit je einem Download-Button pro Zertifikat; Klick lädt einzelne .pem-Datei herunter
result: [pending] result: pass
notes: 2-Cert-Chain aufgeteilt, 2 Listeneinträge mit je "Herunterladen"-Button.
### 5. Konvertieren — PEM → DER ### 5. Konvertieren — PEM → DER
expected: PEM-Datei hochladen, Zielformat "DER" wählen → Klick "Konvertieren" → Browser lädt .der-Datei herunter expected: PEM-Datei hochladen, Zielformat "DER" wählen → Klick "Konvertieren" → Browser lädt .der-Datei herunter
result: [pending] result: pass
notes: converted.der heruntergeladen, openssl verifiziert (subject=CN=test.example.com).
### 6. Konvertieren — PFX-Option + Passwort-Feld ### 6. Konvertieren — PFX-Option + Passwort-Feld
expected: Zielformat "PFX" wählen → Passwort-Feld wird sichtbar; Zertifikat + Passwort → .pfx-Download möglich expected: Zielformat "PFX" wählen → Passwort-Feld wird sichtbar; Zertifikat + Passwort → .pfx-Download möglich
result: [pending] result: pass
notes: Passwort-Feld erscheint bei PFX-Auswahl. converted.pfx heruntergeladen, mit Passwort "testpassword123" openssl-verifiziert.
### 7. Zusammenführen — PEM-Kette ### 7. Zusammenführen — PEM-Kette
expected: 2 PEM-Dateien auswählen → "Zusammenführen"-Button ist erst ab 2 Dateien aktiv → Klick → chain.pem-Download (enthält 2 BEGIN CERTIFICATE Blöcke) expected: 2 PEM-Dateien auswählen → "Zusammenführen"-Button ist erst ab 2 Dateien aktiv → Klick → chain.pem-Download (enthält 2 BEGIN CERTIFICATE Blöcke)
result: [pending] result: pass
notes: Button war disabled bei 0 Dateien, aktiv ab 2 Dateien. chain.pem enthält 2 BEGIN CERTIFICATE Blöcke (grep -c verifiziert).
### 8. Zusammenführen — Passwort-PFX ### 8. Zusammenführen — Passwort-PFX
expected: 2 Certs auswählen, Ausgabe "PFX", Passwort eingeben → bundle.pfx herunterladen; Datei lässt sich mit dem korrekten Passwort öffnen expected: 2 Certs auswählen, Ausgabe "PFX", Passwort eingeben → bundle.pfx herunterladen; Datei lässt sich mit dem korrekten Passwort öffnen
result: [pending] result: pass
notes: bundle.pfx heruntergeladen, openssl pkcs12 -noout -passin pass:mergepass456 — valid.
## Summary ## Summary
total: 8 total: 8
passed: 0 passed: 8
issues: 0 issues: 0
pending: 8 pending: 0
skipped: 0 skipped: 0
## Gaps ## Gaps
[none yet] [none]