a5c10e9b9b
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
37 lines
1.1 KiB
PHP
37 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace KTXT\Unit\Models\Firewall;
|
|
|
|
use KTXC\Models\Firewall\FirewallLogObject;
|
|
use KTXC\Models\Firewall\FirewallRuleObject;
|
|
use PHPUnit\Framework\Attributes\TestDox;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class FirewallLogObjectTest extends TestCase
|
|
{
|
|
#[TestDox('Rule ID and scope survive firewall log serialization')]
|
|
public function testRuleContextSerialization(): void
|
|
{
|
|
$log = (new FirewallLogObject())
|
|
->setEventId('event-123')
|
|
->setRuleId('rule-123')
|
|
->setRuleScope(FirewallRuleObject::SCOPE_SYSTEM);
|
|
|
|
$restored = (new FirewallLogObject())->jsonDeserialize($log->jsonSerialize());
|
|
|
|
self::assertSame('rule-123', $restored->getRuleId());
|
|
self::assertSame('event-123', $restored->getEventId());
|
|
self::assertSame(FirewallRuleObject::SCOPE_SYSTEM, $restored->getRuleScope());
|
|
}
|
|
|
|
#[TestDox('Unknown rule scopes are rejected from firewall logs')]
|
|
public function testRuleScopeValidation(): void
|
|
{
|
|
$this->expectException(\InvalidArgumentException::class);
|
|
|
|
(new FirewallLogObject())->setRuleScope('unknown');
|
|
}
|
|
}
|