Source
$maintenance_count = ($maintenances === []) ? CDBHelper::getCount(self::MAINTENANCE_SQL) : count($maintenances);
<?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 dirname(__FILE__).'/../../include/CWebTest.php';
require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php';
require_once dirname(__FILE__).'/../behaviors/CTableBehavior.php';
/**
* @backup maintenances
*
* @onBefore prepareMaintenanceData
*
* @dataSource HostTemplateGroups
*/
class testPageMaintenance extends CWebTest {
/**
* Attach MessageBehavior and TableBehavior to the test.
*
* @return array
*/
public function getBehaviors() {
return [
CMessageBehavior::class,
CTableBehavior::class
];
}
const MAINTENANCE_SQL = 'SELECT * FROM maintenances ORDER BY maintenanceid';
const APPROACHING_MAINTENANCE = 'Approaching maintenance';
const HOST_MAINTENANCE = 'Maintenance with assigned host';
const MULTIPLE_GROUPS_MAINTENANCE = 'Maintenance with 2 host groups';
const FILTER_NAME_MAINTENANCE = 'Maintenance для фильтра - ʍąɨɲţ€ɲąɲc€🙂';
const ACTIVE_MAINTENANCE = 'Active maintenance';
const DESCRIPTION_MAINTENANCE = 'Description maintenance';
const MAINTENANCE_WITH_DATA = 'Maintenance period 1 (data collection)';
const MAINTENANCE_NO_DATA = 'Maintenance period 2 (no data collection)';
const MAINTENANCE_UPDATE = 'Maintenance for update (data collection)';
const ZABBIX_SERVERS_GROUPID = 4;
public function prepareMaintenanceData() {
CDataHelper::call('maintenance.create', [
[
'name' => self::APPROACHING_MAINTENANCE,
'maintenance_type' => MAINTENANCE_TYPE_NODATA,
'active_since' => 2017008000,
'active_till' => 2019600000,
'groups' => [['groupid' => CDataHelper::get('HostTemplateGroups.hostgroups.Group for Maintenance')]],
'timeperiods' => [[]]
],