Phase 0a: A1 Angular HTTPS-Cert-Race fixen (einer der 4 pre-existing failures) #38
Labels
No labels
bug
docs
feature
housekeeping
html-spec
performance
react-compat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
glow-all/true-headless-browser#38
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problembeschreibung
Test A1 ("Bootstrap — Angular lädt und bootstrapt erfolgreich") in
angular-comprehensive.test.tsschlägt fehl, wenn die gesamte Test-Suite parallel läuft. Fehler:Der Angular-Test-Server (
Bun.serveohne TLS) served korrekt via HTTP auf localhost. Im parallelen Testlauf generiert der RequestManager jedoch eine HTTPS-URL für den Script-Fetch, was zu einem Zertifikatsfehler führt. In Isolation läuft der Test fehlerfrei — es ist ein Race-Condition-Problem in der parallelen Test-Infrastruktur.Lösungsansätze
Option A: TLS in Bun.serve (empfohlen)
Den Mock-Server mit einem selbstsignierten Zertifikat starten, sodass HTTPS-Requests akzeptiert werden.
Vorteil: Löst die Ursache — HTTPS funktioniert dann tatsächlich.
Nachteil: Braucht Zertifikats-Dateien im Repo.
Option B: URL-Force auf HTTP (Workaround)
In
DynamicScripts/ScriptLoaderprüfen ob die Ziel-URLlocalhostist und explizithttp://erzwingen statthttps://.Option C: Fetch-Interceptor für Test-Seiten
page.goto()returned echte HTTP-Response, aber dynamische Script-Nachladeversuche gehen via HTTPS. Im RequestManager einen Interceptor für localhost-URLs einbauen, der HTTP erzwingt.Akzeptanzkriterien
bun testläuft ohne A1-Fehler (alle 29 Angular-Tests pass)Betroffene Dateien
tests/interaction/angular-comprehensive.test.ts— Mock-Server + Test-Seitesrc/js/script-loader.ts— fetchContent/executeRawsrc/js/dynamic-scripts.ts— _processQueue fetchscripts/gen-cert.sh— TLS-Zertifikat-GenerierungCross-Referenzen
✅ Implementiert. Commit
3517c7c.Root cause: test HTML used relative script URLs → DynamicScriptHandler resolved against wrong base URL during parallel execution.
Fix: server generates absolute URLs (http://localhost:PORT/...) in fixture HTML.
Also: changed Page default baseUrl + fallback URLs from https://localhost to http://localhost.
Test: 1423 pass, A1 now ✅ in parallel suite.