Notfallzugang gilt auch im Worker

Der Voll-Abgleich hat den Administrator alle fünf Minuten hinausgeworfen:
enforceMembership kannte BOOTSTRAP_ADMIN_IDS nicht und sah nur, dass keine
seiner Rollen zur Anmeldung berechtigt. Solange das Rollen-Mapping noch leer
ist, trifft das zwangsläufig zu — der Notfallzugang war damit genau in der
Lage wirkungslos, für die es ihn gibt.

Gefunden beim ersten Lauf gegen den echten Discord-Server, nicht im Test.
This commit is contained in:
Harlekin
2026-09-01 19:24:13 +02:00
parent cb66839a05
commit 5edb62bf37
4 changed files with 39 additions and 4 deletions
+14
View File
@@ -82,6 +82,20 @@ suite('Sitzungen beim Rollenentzug', () => {
expect(nutzer?.isActive).toBe(false)
})
it('wirft den Notfallzugang nicht hinaus, auch ohne AfiS-Rolle', async () => {
// Sonst wirft der Voll-Abgleich den Administrator alle fünf Minuten
// hinaus, solange noch keine Rolle zur Anmeldung berechtigt — und
// einrichten kann er das Rollen-Mapping dann nie.
const id = `${marke}-notfall`
await nutzerMitSitzung(id, [rolleGast])
const beendet = await enforceMembership(db, id, [id])
expect(beendet).toBe(false)
expect(await db.session.count({ where: { userId: id } })).toBe(1)
expect((await db.user.findUnique({ where: { id } }))?.isActive).toBe(true)
})
it('beendet Sitzungen beim Serveraustritt und behält den Nutzer', async () => {
const id = `${marke}-austritt`
await nutzerMitSitzung(id, [rolleAfis])