Source
public function testWebScenarioPermissions_Delete(array $login, array $httptestids, ?string $expected_error) {
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
require_once __DIR__.'/../include/CAPITest.php';
require_once __DIR__.'/../include/helpers/CTestDataHelper.php';
/**
* @onBefore prepareTestData
* @onAfter cleanTestData
*/
class testWebScenarioPermissions extends CAPITest {
public static function prepareTestData(): void {
$steps = ['steps' => [
[
'name' => 'Homepage',
'url' => 'http://example.com',
'no' => '0'
]
]];
CTestDataHelper::createObjects([
'host_groups' => [
['name' => 'perm.ht.hosts.rw'],
['name' => 'perm.ht.hosts.r'],
['name' => 'perm.ht.hosts.d'],
['name' => 'perm.ht.hosts.n']
],
'hosts' => [
[
'host' => 'perm.ht.host.rw',
'description' => 'Read-Write host',
'groups' => ['groupid' => ':host_group:perm.ht.hosts.rw'],
'httptests' => [
['name' => 'perm.ht.super-admin.del.rw'] + $steps,
['name' => 'perm.ht.admin.del.rw'] + $steps,
['name' => 'perm.ht.user.del.rw'] + $steps,
['name' => 'perm.ht.super-admin.upd.rw'] + $steps,
['name' => 'perm.ht.admin.upd.rw'] + $steps,
['name' => 'perm.ht.user.upd.rw'] + $steps,
['name' => 'perm.ht.super-admin.upd.mixed.rw'] + $steps,
['name' => 'perm.ht.admin.upd.mixed.rw'] + $steps,
['name' => 'perm.ht.user.upd.mixed.rw'] + $steps
]
],
[
'host' => 'perm.ht.host.r',
'description' => 'Read-only host',
'groups' => ['groupid' => ':host_group:perm.ht.hosts.r'],
'httptests' => [
['name' => 'perm.ht.super-admin.del.r'] + $steps,
['name' => 'perm.ht.admin.del.r'] + $steps,
['name' => 'perm.ht.user.del.r'] + $steps,
['name' => 'perm.ht.super-admin.upd.r'] + $steps,
['name' => 'perm.ht.admin.upd.r'] + $steps,
['name' => 'perm.ht.user.upd.r'] + $steps,
['name' => 'perm.ht.admin.upd.mixed.r'] + $steps,
['name' => 'perm.ht.user.upd.mixed.r'] + $steps
]
],
[
'host' => 'perm.ht.host.d',
'description' => 'Denied host',
'groups' => ['groupid' => ':host_group:perm.ht.hosts.d'],
'httptests' => [
['name' => 'perm.ht.super-admin.del.d'] + $steps,
['name' => 'perm.ht.admin.del.d'] + $steps,
['name' => 'perm.ht.user.del.d'] + $steps,
['name' => 'perm.ht.super-admin.upd.d'] + $steps,
['name' => 'perm.ht.admin.upd.d'] + $steps,
['name' => 'perm.ht.user.upd.d'] + $steps
]
],
[
'host' => 'perm.ht.host.n',
'description' => 'Host not linked to user groups',
'groups' => ['groupid' => ':host_group:perm.ht.hosts.n'],