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'); } }