32 lines
1.5 KiB
PHP
32 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Models\TenantConfigurationResourceType;
|
|
use App\Services\TenantConfiguration\ResourceTypeRegistry;
|
|
use App\Support\TenantConfiguration\RestoreTier;
|
|
use Tests\Support\TenantConfiguration\Spec425Fixtures as Spec425;
|
|
|
|
it('Spec425 introduces no restore apply action restore-ready state or restorable tier', function (): void {
|
|
Spec425::syncDefaults();
|
|
|
|
$types = TenantConfigurationResourceType::query()
|
|
->whereIn('canonical_type', ['conditionalAccessPolicy', 'securityDefaults'])
|
|
->get()
|
|
->keyBy('canonical_type');
|
|
$runtime = collect([
|
|
app_path('Services/TenantConfiguration/EntraCertifiedComparePackEvaluator.php'),
|
|
app_path('Services/TenantConfiguration/EntraCertifiedComparePackResult.php'),
|
|
app_path('Services/TenantConfiguration/SupportedScopeResolver.php'),
|
|
app_path('Services/TenantConfiguration/ClaimGuard.php'),
|
|
app_path('Services/TenantConfiguration/ResourceTypeRegistry.php'),
|
|
])->map(fn (string $path): string => file_get_contents($path) ?: '')->implode("\n");
|
|
|
|
expect($types['conditionalAccessPolicy']->restore_tier)->toBe(RestoreTier::NotRestorable)
|
|
->and($types['securityDefaults']->restore_tier)->toBe(RestoreTier::NotRestorable)
|
|
->and($types['conditionalAccessPolicy']->allows_certified_claims)->toBeFalse()
|
|
->and($types['securityDefaults']->allows_certified_claims)->toBeFalse()
|
|
->and($runtime)->not->toContain('restore-ready')
|
|
->and($runtime)->not->toContain('apply-ready');
|
|
});
|