Skip to content

test(e2e): exempt JobAccountMerge from the blanket process kill switch - #1323

Open
davidleomay wants to merge 1 commit into
developfrom
test/e2e-account-merge-validation
Open

test(e2e): exempt JobAccountMerge from the blanket process kill switch#1323
davidleomay wants to merge 1 commit into
developfrom
test/e2e-account-merge-validation

Conversation

@davidleomay

Copy link
Copy Markdown
Member

Warum

e2e-stack/env/api.env setzt DISABLED_PROCESSES=*. Das schaltet jeden Process ab — auch JobAccountMerge, und der ist kein Hintergrund-Job, sondern der Ausführungspfad des Account-Merge-Bestätigungslinks.

Mit DFXswiss/api#4496 wird der Merge zu einem Job. Ist der Prozess aus, läuft weder der Kick noch der Dispatcher-Sweep — beide hängen an genau diesem Schalter — und der Merge wird nie ausgeführt. Belegt im E2E-Lauf gegen api#4496: specs/auth.spec.ts:346 › /account-merge?otp=… merges accounts läuft 30 s in den Timeout, weil Account merged successfully! nie erscheint. Die übrigen 8 Fehlschläge desselben Laufs sind auf develop ebenfalls rot und gehören nicht dazu.

api#4496 antwortet inzwischen mit 503 statt mit einem Ticket, das nie fertig wird — das macht den Fehler sichtbar, behebt ihn hier aber nicht: Der Test braucht einen Merge, der tatsächlich durchläuft.

Was sich ändert

Eine Zeile:

-DISABLED_PROCESSES=*
+DISABLED_PROCESSES=*,!JobAccountMerge

Die !-Ausnahme kommt aus api#4496 (Config.disabledProcesses()): * bleibt „alles aus", !Name nimmt genau einen Prozess davon aus. Alle übrigen 145 Prozesse bleiben abgeschaltet — die Ruhe im Stack bleibt also erhalten, nur der eine Prozess, an dem ein Nutzer-Endpoint hängt, läuft.

Reihenfolge: Dieser PR setzt api#4496 voraus. Vorher versteht die API die !-Syntax nicht und liest den Wert als Namensliste, in der kein Prozess * oder !JobAccountMerge heisst — Ergebnis: gar nichts wäre abgeschaltet. Nicht mergen, bevor api#4496 drin ist.

Offen, bewusst nicht in diesem PR

Die Playwright-Spezifikation deckt weiter nur den schnellen Pfad ab. Überschreitet ein Merge das Wartefenster (maxWaitSeconds: 5), antwortet der Endpoint mit 202 und einem JobDto; die Frontend-Behandlung dafür kommt in #1322, ein E2E-Fall dafür fehlt noch. Kontext: #1304.

Herkunft

Der Branch zweigt vom Head von #1322 ab, damit die Kombination aus Frontend-Polling und Harness-Fix zusammen gegen api#4496 laufen kann. Der Commit war zuerst direkt auf den Branch gepusht — ohne PR; das wird hiermit nachgeholt, damit die Änderung den normalen Review-Weg nimmt.

@github-actions

Copy link
Copy Markdown

🤖 PR Review Bot

⚠️ Unverified Commits (1)

The following commits are not signed/verified:

  • 4f0d3f6 test(e2e): exempt JobAccountMerge from the blanket process kill switch (David May)
How to sign commits
# SSH signing (recommended)
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true

# Re-sign last commit
git commit --amend -S --no-edit
git push --force-with-lease

This is an automated review. Please address the issues above.

@davidleomay
davidleomay force-pushed the test/e2e-account-merge-validation branch from 4f0d3f6 to c16d2f4 Compare August 13, 2026 15:53
DISABLED_PROCESSES=* switches off every Process, including JobAccountMerge — which is not background
upkeep but the process that executes the account-merge confirmation link. With it off neither the
kick nor the dispatcher sweep runs, the merge is never performed, and specs/auth.spec.ts:346 waits
out its 30s timeout because the success screen never renders.

Requires DFXswiss/backend#4496, which introduces the ! exemption. Before that the API reads the value as
a list of process names, finds neither '*' nor '!JobAccountMerge', and disables nothing at all — so
this must not merge first.
@davidleomay
davidleomay force-pushed the test/e2e-account-merge-validation branch from c16d2f4 to c96c5f5 Compare August 18, 2026 07:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant