fix(i18n): drei uebersehene Umlaute und die Luecke, durch die sie schluepften
Die Gegenprobe im Browser hat drei Stellen gefunden, die der erste Durchgang nicht erwischt hat — darunter zwei gut sichtbare Schaltflaechen: Aenderungen speichern -> Änderungen speichern Oeffnen -> Öffnen Eine Aenderung ... -> Eine Änderung ... Die Ursache ist dieselbe fuer alle drei und steckte im Waechter selbst: sein Verdachtsmuster /(ae|oe|ue|ss)/ war case-sensitiv. "Aenderungen" beginnt mit "Ae", nicht mit "ae", und ist deshalb durchgerutscht — der Waechter konnte gar nicht anschlagen. Muster jetzt case-insensitiv; damit erfasst es auch die grossgeschriebenen Formen. Durch die schaerfere Pruefung melden sich neu die Abkuerzungen RSS, RSSGenerator und SSL. Sie tragen ein doppeltes S ohne Umlaut-Bezug und stehen jetzt auf der Positivliste. Ausserdem zwei Meldungen des LDAP-Abgleichs korrigiert, die dem Administrator in der Oberflaeche angezeigt werden (result.errors landet in der Fehlerliste der LDAP-Seite): "ungueltiger ldapObjectGuid-Wert" und "Base-DN-Konfiguration pruefen. Nicht geloescht." Drei Tests pinnen diese Texte bewusst und wurden mitgezogen. Bewusst NICHT angefasst: die Warnung in crypto.service.ts. Sie geht ueber logger.warn ins Protokoll und nicht an einen Nutzer. Unabhaengig gegengeprueft: von allen Tokens in de.json, die ae/oe/ue tragen, ist keines mehr eine Ersatzschreibung. 642 API-Tests und 225 Web-Tests gruen. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5jtbGzC5Sf9npJ3JCjKhq
This commit is contained in:
@@ -1594,7 +1594,7 @@ describe('LdapService.syncBoundGroupsForTenant — Rekonziliation gegen das Verz
|
||||
|
||||
expect(mockSearch).not.toHaveBeenCalled();
|
||||
expect(result.errors).toEqual([
|
||||
'Gruppe Sales: ungueltiger ldapObjectGuid-Wert',
|
||||
'Gruppe Sales: ungültiger ldapObjectGuid-Wert',
|
||||
]);
|
||||
expect(prisma.group.delete).not.toHaveBeenCalled();
|
||||
});
|
||||
@@ -1727,7 +1727,7 @@ describe('LdapService.syncBoundGroupsForTenant — Rekonziliation gegen das Verz
|
||||
}
|
||||
expect(prisma.group.delete).not.toHaveBeenCalled();
|
||||
expect(result.errors.length).toBe(1);
|
||||
expect(result.errors[0]).toContain('Nicht geloescht');
|
||||
expect(result.errors[0]).toContain('Nicht gelöscht');
|
||||
});
|
||||
|
||||
it('is idempotent: a second run over an unchanged AD state issues no group.update or group.delete call', async () => {
|
||||
@@ -1832,7 +1832,7 @@ describe('LdapService.syncBoundGroupsForTenant — Rekonziliation gegen das Verz
|
||||
expect(prisma.group.update).not.toHaveBeenCalled();
|
||||
expect(result.groupsDeleted).toBe(0);
|
||||
expect(result.errors).toEqual([
|
||||
"Gruppe Sales: nicht mehr unter den konfigurierten Base-DNs gefunden, existiert aber weiterhin unter 'cn=Sales,ou=Archive,dc=example,dc=com' — vermutlich im Verzeichnis verschoben, Base-DN-Konfiguration pruefen. Nicht geloescht.",
|
||||
"Gruppe Sales: nicht mehr unter den konfigurierten Base-DNs gefunden, existiert aber weiterhin unter 'cn=Sales,ou=Archive,dc=example,dc=com' — vermutlich im Verzeichnis verschoben, Base-DN-Konfiguration prüfen. Nicht gelöscht.",
|
||||
]);
|
||||
expect(groups).toHaveLength(1);
|
||||
});
|
||||
|
||||
@@ -1310,7 +1310,7 @@ export class LdapService {
|
||||
// (T-16-01).
|
||||
if (!ldapObjectGuid || !/^[0-9a-f]{32}$/.test(ldapObjectGuid)) {
|
||||
result.errors.push(
|
||||
`Gruppe ${group.name}: ungueltiger ldapObjectGuid-Wert`,
|
||||
`Gruppe ${group.name}: ungültiger ldapObjectGuid-Wert`,
|
||||
);
|
||||
continue;
|
||||
}
|
||||
@@ -1427,7 +1427,7 @@ export class LdapService {
|
||||
}
|
||||
if (wideHit) {
|
||||
result.errors.push(
|
||||
`Gruppe ${group.name}: nicht mehr unter den konfigurierten Base-DNs gefunden, existiert aber weiterhin unter '${wideHit.dn}' — vermutlich im Verzeichnis verschoben, Base-DN-Konfiguration pruefen. Nicht geloescht.`,
|
||||
`Gruppe ${group.name}: nicht mehr unter den konfigurierten Base-DNs gefunden, existiert aber weiterhin unter '${wideHit.dn}' — vermutlich im Verzeichnis verschoben, Base-DN-Konfiguration prüfen. Nicht gelöscht.`,
|
||||
);
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user