Automated PR for spec 426 exchange teams core evidence identity readiness. Includes service changes and coverage/requirement/spec updates from commit fb4dc20c.
Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #493
28 lines
1.1 KiB
PHP
28 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use App\Services\TenantConfiguration\ExchangeTeamsComparablePayloadNormalizer;
|
|
|
|
it('Spec426 redacts mail, chat, transcript, and raw provider content from typed normalized payloads', function (): void {
|
|
$normalizer = app(ExchangeTeamsComparablePayloadNormalizer::class);
|
|
|
|
$transportRule = $normalizer->normalize('transportRule', [
|
|
'Identity' => 'Rule 1',
|
|
'SubjectContainsWords' => ['payroll acquisition secret'],
|
|
'MessageBody' => 'private message body',
|
|
]);
|
|
$meetingPolicy = $normalizer->normalize('meetingPolicy', [
|
|
'Identity' => 'Meeting 1',
|
|
'RecordingTranscript' => 'meeting transcript secret',
|
|
'AllowTranscription' => true,
|
|
]);
|
|
|
|
$json = json_encode([$transportRule, $meetingPolicy], JSON_THROW_ON_ERROR);
|
|
|
|
expect($json)->not->toContain('payroll acquisition secret')
|
|
->and($json)->not->toContain('private message body')
|
|
->and($json)->not->toContain('meeting transcript secret')
|
|
->and(data_get($transportRule, 'conditions.subject_contains_words'))->toBe('[redacted]');
|
|
});
|