boot(); $definitions = $registry->definitions(); self::assertCount(5, $definitions); self::assertSame(['core'], array_values(array_unique(array_column($definitions, 'module')))); self::assertSame( FirewallService::class, $registry->listeners(SecurityEvent::AUTH_FAILURE, DeliveryMode::Immediate)[0]->service, ); self::assertFalse($registry->frozen()); } #[Test] #[TestDox('Core exposes the event registry debug command')] public function exposesDebugCommand(): void { $module = new Module(new EventListenerRegistry()); self::assertContains(EventsDebugCommand::class, $module->registerCI()); } #[Test] #[TestDox('Core registers dedicated system firewall permissions')] public function registersSystemFirewallPermissions(): void { $permissions = (new Module(new EventListenerRegistry()))->permissions(); self::assertArrayHasKey(SystemFirewallRuleService::PERMISSION_READ, $permissions); self::assertArrayHasKey(SystemFirewallRuleService::PERMISSION_MANAGE, $permissions); self::assertArrayHasKey(TenantFirewallRuleService::PERMISSION_READ, $permissions); self::assertArrayHasKey(TenantFirewallRuleService::PERMISSION_MANAGE, $permissions); } }