Duplicate rendering must not replace the first title
', 'Rule ID: S-Synthetic
', 'Description: Duplicate presentation.
', 'Points: 20
// @vitest-environment jsdom import { describe, expect, it } from 'vitest'; import pingCastleHtml from '../../fixtures/pingcastle/healthcheck.synthetic.html?raw'; import pingCastleXml from '../../fixtures/pingcastle/healthcheck.synthetic.xml?raw'; import { confirmEntryMappings, previewEntryFromDataset } from '../../src/features/import-workflow/import-workflow'; import { createCanonicalImportBatch } from '../../src/importers/canonical-import'; import { operatingSystemInventory, operatingSystemEolCount } from '../../src/features/dashboard/operating-system-inventory'; import { importFile } from '../../src/importers/importer'; import { importProfiles } from '../../src/profiles/profile-catalog'; import type { EnvironmentSnapshot } from '../../src/domain/environment-context'; async function importPingCastle(content: string, fileName: string, type: string) { return importFile(new File([content], fileName, { type }), { profiles: importProfiles }); } describe('PingCastle native finding extraction', () => { it('retains an explicit EOL OS total without altering native scores or findings', async () => { const section = '
| EOL OS |
|---|
| 2 |
Group summary.
| Group Name | Nb Admins |
|---|---|
| Enterprise Administrators | 1 |
| Operator graph | 1 |
| 2 | 2 |
| SamAccountName |
|---|
| Administrator |
Graph legend.
All privileged users.
| SamAccountName |
|---|
| Administrator |
| Name |
|---|
| Second account |
Date: 2026-08-20 - Engine version: 3.4.0
', '| Domain | Domain Functional Level | Forest Functional Level | Schema Version | Recycle Bin Enabled | Number of DC | ', '
|---|---|---|---|---|---|
| synthetic.example | 2016 | 2016 | 88 | Yes | 2 |
No Entra ID configuration has been found in this domain.
| Certificate Authority |
|---|
| Service |
|---|
| Synthetic Infrastructure |
Number of WEF configuration found: 0
Legacy LAPS installation date: Never Windows LAPS installation date: Never
| Name | Creation |
|---|---|
| Synthetic Honeypot | 2026-08-20 |
| Nb User Accounts | Nb Enabled |
|---|---|
| 12 | 10 |
| Name | Last logon |
|---|---|
| Synthetic User | Never |
| Name | Operating system | Nb OS | Nb Active | Nb Inactive | Nb Enabled | Nb Disabled |
|---|---|---|---|---|---|---|
| Synthetic Computer | Synthetic OS | 17 | 12 | 5 | 14 | 3 |
| Group |
|---|
| Synthetic Admin Group |
| Path |
|---|
| Synthetic Control Path |
| Item |
|---|
| Synthetic Anomaly |
| Policy |
|---|
| Synthetic Password Policy |
| GPO |
|---|
| Synthetic GPO |
| Value |
|---|
| Synthetic unknown value |
This section is reserved for customers who have purchased a license.
| Value |
|---|
| Synthetic value |
Rule ID: S-Synthetic
', 'Description: Duplicate presentation.
', 'Points: 20
Rule ID: S-DetailTable
', 'Description: Synthetic finding with an inline evidence table.
', 'Details:The detail can be found in the Synthetic User List
| DN |
|---|
| CN=Synthetic User,DC=example,DC=test |
Points: 10
Rule ID: S-Informative
', 'Description: Synthetic informative finding without risk points.
', 'Points: 0 points if present
', 'Rule ID: S-AnchorLink
', 'Description: Synthetic finding whose detail lives in another report section.
', 'Details:The detail can be found in Synthetic Section
', 'Points: 10 points if present
Synthetic resolved paragraph without tenant identifiers.
', '| Name |
|---|
| Synthetic Entry |
This must not leak into the resolved section above.
Rule ID: S-Both
', 'Details:The detail can be found in Synthetic Section
| Domain controller |
|---|
| SYNTHETIC-DC |
Points: 10 points if present
Synthetic target section paragraph.
', '| Name |
|---|
| Synthetic Target Entry |
Rule ID: S-Graph
', 'Details:The detail can be found in Synthetic Graph
', '| DN | Reason |
|---|---|
| CN=Synthetic,DC=example,DC=test | Synthetic reason |
Points: 10 points if present
| Group |
|---|
| ', 'Synthetic Administrators', ' |
| Account |
|---|
| ', 'Synthetic Account', ' |
| User |
|---|
| Synthetic User |
| Must not leak |
|---|
| Unrelated |
Rule ID: S-CardTitle
', 'Description: Synthetic finding with distinct header and check text.
', 'Points: 5 points if present
', '