Files
coolify/tests/Feature/LogRedactionSwitchTest.php
6b07f03107 feat(terminal): interactive console mode for containers (docker attach) (#11538)
Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com>
Co-authored-by: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: rosslh <ross@rosshill.ca>
2026-10-14 14:32:02 +02:00

30 lines
1.1 KiB
PHP

<?php
use App\Logging\RedactSensitiveData;
use App\Services\Security\SensitiveDataRedactor;
use Illuminate\Log\Logger;
use Monolog\Handler\TestHandler;
use Monolog\Logger as MonologLogger;
it('writes raw framework logs when a self-hosted instance turns redaction off', function () {
config(['logging.redaction_enabled' => false, 'constants.coolify.self_hosted' => true]);
$handler = new TestHandler;
$logger = new Logger(new MonologLogger('test', [$handler]));
(new RedactSensitiveData(new SensitiveDataRedactor))($logger);
$logger->error('password=coolify-canary-raw-secret');
expect($handler->getRecords()[0]->message)->toBe('password=coolify-canary-raw-secret');
});
it('always redacts framework logs on cloud', function () {
config(['logging.redaction_enabled' => false, 'constants.coolify.self_hosted' => false]);
$handler = new TestHandler;
$logger = new Logger(new MonologLogger('test', [$handler]));
(new RedactSensitiveData(new SensitiveDataRedactor))($logger);
$logger->error('password=coolify-canary-cloud-secret');
expect($handler->getRecords()[0]->message)->toBe('password='.REDACTED);
});