feat(firewall): add scoped rule administration reads
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -452,6 +452,42 @@ class FirewallStoreTest extends TestCase
|
||||
self::assertContains('logs_auth_failures', self::indexNames($failurePlan));
|
||||
}
|
||||
|
||||
#[TestDox('Administrative rule queries filter, paginate, and preserve scope')]
|
||||
public function testAdministrativeRuleQuery(): void
|
||||
{
|
||||
$this->store->depositRule($this->rule('tenant-active', FirewallRuleObject::SCOPE_TENANT, 'tenant-a'));
|
||||
$this->store->depositRule(
|
||||
$this->rule('tenant-disabled', FirewallRuleObject::SCOPE_TENANT, 'tenant-a')->setEnabled(false)
|
||||
);
|
||||
$this->store->depositRule($this->rule('other-tenant', FirewallRuleObject::SCOPE_TENANT, 'tenant-b'));
|
||||
$this->store->depositRule($this->rule('system', FirewallRuleObject::SCOPE_SYSTEM));
|
||||
|
||||
$active = $this->store->queryRules(
|
||||
FirewallRuleObject::SCOPE_TENANT,
|
||||
'tenant-a',
|
||||
'active',
|
||||
FirewallRuleObject::TYPE_IP,
|
||||
FirewallRuleObject::ACTION_BLOCK,
|
||||
1,
|
||||
0
|
||||
);
|
||||
$disabled = $this->store->queryRules(
|
||||
FirewallRuleObject::SCOPE_TENANT,
|
||||
'tenant-a',
|
||||
'disabled',
|
||||
null,
|
||||
null,
|
||||
50,
|
||||
0
|
||||
);
|
||||
|
||||
self::assertSame(1, $active['total']);
|
||||
self::assertCount(1, $active['items']);
|
||||
self::assertSame('tenant-active', $active['items'][0]->getReason());
|
||||
self::assertSame(1, $disabled['total']);
|
||||
self::assertSame('tenant-disabled', $disabled['items'][0]->getReason());
|
||||
}
|
||||
|
||||
private function rule(
|
||||
string $reason,
|
||||
string $scope,
|
||||
|
||||
Reference in New Issue
Block a user