Source
CDBHelper::setTriggerProblem(array_keys(CDataHelper::getIds('description')), TRIGGER_VALUE_TRUE, ['clock' => self::$time]);
<?php
/*
** Zabbix
** 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 General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** 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 General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
**/
require_once dirname(__FILE__).'/../../include/CWebTest.php';
require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php';
require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php';
require_once dirname(__FILE__).'/../behaviors/CTableBehavior.php';
/**
* @backup config, hstgrp, widget
*
* @onBefore prepareDashboardData, prepareProblemsData
*/
class testDashboardProblemsWidgetDisplay extends CWebTest {
/**
* Attach MessageBehavior and TableBehavior to the test.
*
* @return array
*/
public function getBehaviors() {
return [
CMessageBehavior::class,
CTableBehavior::class
];
}
protected static $dashboardid;
protected static $time;
protected static $acktime;
public function prepareDashboardData() {
$response = CDataHelper::call('dashboard.create', [
'name' => 'Dashboard for Problem widget check',
'auto_start' => 0,
'pages' => [
[
'name' => 'First Page',
'display_period' => 3600
]
]
]);
$this->assertArrayHasKey('dashboardids', $response);
self::$dashboardid = $response['dashboardids'][0];
}
public function prepareProblemsData() {
// Remove PROBLEM event status blinking to get correct status in table column.
CDataHelper::call('settings.update', [
'problem_unack_style' => 0
]);
// Create hostgroup for hosts with items triggers.
$hostgroups = CDataHelper::call('hostgroup.create', [['name' => 'Group for Problems Widgets']]);
$this->assertArrayHasKey('groupids', $hostgroups);
$groupid = $hostgroups['groupids'][0];
// Create host for items and triggers.
$hosts = CDataHelper::call('host.create', [
'host' => 'Host for Problems Widgets',
'groups' => [['groupid' => $groupid]]
]);
$this->assertArrayHasKey('hostids', $hosts);
// Create items on previously created host.
$item_names = ['float', 'char', 'log', 'unsigned', 'text'];
$items_data = [];
foreach ($item_names as $i => $item) {
$items_data[] = [
'hostid' => $hosts['hostids'][0],
'name' => $item,