Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 4m7s
Implemented deterministic Baseline Result Semantics (Spec 383), introducing CompareSubjectResult and CompareEvidenceResult. Replaced generic arrays with strict Data Transfer Objects for Baseline engine output.
26 lines
1.1 KiB
PHP
26 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Services\Baselines\Matching\FoundationCoverageResolver;
|
|
use App\Support\Resources\ResourceIdentity;
|
|
|
|
it('classifies foundation inventory-only and canonical-only coverage through the existing support contract', function (): void {
|
|
$resolver = app(FoundationCoverageResolver::class);
|
|
|
|
$inventoryOnly = $resolver->coverageFor('roleScopeTag');
|
|
$canonicalOnly = $resolver->coverageFor(
|
|
'roleScopeTag',
|
|
ResourceIdentity::canonicalBuiltin('fake-provider', 'scope-tag', 'default'),
|
|
);
|
|
$unsupported = $resolver->coverageFor('intuneRoleAssignment');
|
|
|
|
expect($inventoryOnly['coverage'])->toBe('inventory_only')
|
|
->and($inventoryOnly['reason_code'])->toBe('foundation_inventory_only')
|
|
->and($canonicalOnly['coverage'])->toBe('canonical_only')
|
|
->and($canonicalOnly['reason_code'])->toBe('foundation_canonical_only')
|
|
->and($canonicalOnly['identity_kind'])->toBe(ResourceIdentity::CanonicalBuiltin)
|
|
->and($unsupported['coverage'])->toBe('unsupported')
|
|
->and($unsupported['reason_code'])->toBe('unsupported_resource_class');
|
|
});
|