You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
zabbix/ui/tests/selenium/testFormAdministrationGener...

810 lines
28 KiB

<?php
/*
** Zabbix
** Copyright (C) 2001-2023 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__).'/common/testFormAdministrationGeneral.php';
/**
* @backup config
*/
class testFormAdministrationGeneralTrigDisplOptions extends testFormAdministrationGeneral {
public $config_link = 'zabbix.php?action=trigdisplay.edit';
public $form_selector = 'xpath://form[contains(@action, "trigdisplay.update")]';
public $default_values = [
'Use custom event status colors' => false,
'Unacknowledged PROBLEM events' => true,
'Acknowledged PROBLEM events' => true,
'Unacknowledged RESOLVED events' => true,
'Acknowledged RESOLVED events' => true,
'Display OK triggers for' => '5m',
'On status change triggers blink for' => '2m',
'Not classified' => 'Not classified',
'Information' => 'Information',
'Warning' => 'Warning',
'Average' => 'Average',
'High' => 'High',
'Disaster' => 'Disaster',
'xpath://button[@id="lbl_problem_unack_color"]/..' => 'CC0000',
'xpath://button[@id="lbl_problem_ack_color"]/..'=> 'CC0000',
'xpath://button[@id="lbl_ok_unack_color"]/..'=> '009900',
'xpath://button[@id="lbl_ok_ack_color"]/..'=> '009900',
'xpath://button[@id="lbl_severity_color_0"]/..' => '97AAB3',
'xpath://button[@id="lbl_severity_color_1"]/..' => '7499FF',
'xpath://button[@id="lbl_severity_color_2"]/..' => 'FFC859' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => 'FFA059',
'xpath://button[@id="lbl_severity_color_4"]/..' => 'E97659',
'xpath://button[@id="lbl_severity_color_5"]/..' => 'E45959'
];
public $db_default_values = [
'custom_color' => 0,
'problem_unack_style' => 1,
'problem_ack_style'=> 1,
'ok_unack_style'=> 1,
'ok_ack_style'=> 1,
'problem_unack_color' => 'CC0000',
'problem_ack_color' => 'CC0000',
'ok_unack_color' => '009900',
'ok_ack_color' => '009900',
'ok_period' => '5m',
'blink_period' => '2m',
'severity_name_0' => 'Not classified',
'severity_name_1' => 'Information',
'severity_name_2' => 'Warning',
'severity_name_3' => 'Average',
'severity_name_4' => 'High',
'severity_name_5' => 'Disaster',
'severity_color_0' => '97AAB3',
'severity_color_1' => '7499FF',
'severity_color_2' => 'FFC859' ,
'severity_color_3' => 'FFA059',
'severity_color_4' => 'E97659',
'severity_color_5' => 'E45959'
];
public $custom_values = [
'Use custom event status colors' => true,
'Unacknowledged PROBLEM events' => false,
'Acknowledged PROBLEM events' => false,
'Unacknowledged RESOLVED events' => false,
'Acknowledged RESOLVED events' => false,
'Display OK triggers for' => '23h',
'On status change triggers blink for' => '17h',
'Not classified' => 'Custom Not classified',
'Information' => 'Custom Information',
'Warning' => 'Custom Warning',
'Average' => 'Custom Average',
'High' => 'Custom High',
'High' => 'Custom Disaster',
// TODO: This should be changed to really custom values after DEV-1673 is fixed.
// 'xpath://button[@id="lbl_problem_unack_color"]/..' => 'D81B60',
// 'xpath://button[@id="lbl_problem_ack_color"]/..' => 'F8BBD0',
// 'xpath://button[@id="lbl_ok_unack_color"]/..' => '1A237E',
// 'xpath://button[@id="lbl_ok_ack_color"]/..' => 'B3E5FC',
'xpath://button[@id="lbl_problem_unack_color"]/..' => 'CC0000',
'xpath://button[@id="lbl_problem_ack_color"]/..'=> 'CC0000',
'xpath://button[@id="lbl_ok_unack_color"]/..'=> '009900',
'xpath://button[@id="lbl_ok_ack_color"]/..'=> '009900',
'xpath://button[@id="lbl_severity_color_0"]/..' => 'E8EAF6',
'xpath://button[@id="lbl_severity_color_1"]/..' => 'D1C4E9',
'xpath://button[@id="lbl_severity_color_2"]/..' => 'B39DDB' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '9575CD',
'xpath://button[@id="lbl_severity_color_4"]/..' => '673AB7',
'xpath://button[@id="lbl_severity_color_5"]/..' => '4527A0'
];
/**
* Test for checking form layout.
*/
public function testFormAdministrationGeneralTrigDisplOptions_CheckLayout() {
$this->page->login()->open($this->config_link);
$this->page->assertTitle('Configuration of trigger displaying options');
$this->page->assertHeader('Trigger displaying options');
$form = $this->query($this->form_selector)->waitUntilReady()->asForm()->one();
$limits = [
'ok_period' => 32,
'blink_period' => 32,
'severity_name_0' => 32,
'severity_name_1' => 32,
'severity_name_2' => 32,
'severity_name_3' => 32,
'severity_name_4' => 32,
'severity_name_5' => 32
];
$color_limits = [
'id:lbl_problem_unack_color' => 6,
'id:lbl_problem_ack_color' => 6,
'id:lbl_ok_unack_color' => 6,
'id:lbl_ok_ack_color' => 6,
'id:lbl_severity_color_0' => 6,
'id:lbl_severity_color_1' => 6,
'id:lbl_severity_color_2' => 6,
'id:lbl_severity_color_3' => 6,
'id:lbl_severity_color_4' => 6,
'id:lbl_severity_color_5' => 6
];
foreach ($limits as $id => $limit) {
$this->assertEquals($limit, $this->query('id', $id)->one()->getAttribute('maxlength'));
}
$form->fill(['Use custom event status colors' => true]);
foreach ($color_limits as $selector => $limit) {
$form->query($selector)->one()->click()->waitUntilReady();
$color_pick = $this->query('xpath://div[@id="color_picker"]')->asColorPicker()->one();
$this->assertEquals($limit, $color_pick->getInput()->getAttribute('maxlength'));
$color_pick->close();
}
$checkboxes = [
'custom_color',
'problem_unack_style',
'problem_ack_style',
'ok_unack_style',
'ok_ack_style'
];
foreach ($checkboxes as $checkbox) {
$this->assertTrue($this->query('id', $checkbox)->one()->isEnabled());
}
$event_colors = [
'lbl_problem_unack_color',
'lbl_problem_ack_color',
'lbl_ok_unack_color',
'lbl_ok_ack_color'
];
foreach ([true, false] as $status) {
$form->fill(['Use custom event status colors' => $status]);
foreach ($event_colors as $colorbox) {
$this->assertTrue($this->query('id', $colorbox)->one()->isEnabled($status));
}
}
$this->assertEquals(
'Custom severity names affect all locales and require manual translation!',
$this->query('class:table-forms-separator')->one()->getText()
);
foreach (['Update', 'Reset defaults'] as $button) {
$this->assertTrue($this->query('button', $button)->one()->isEnabled());
}
}
/**
* Test for checking form update without changing any data.
*/
public function testFormAdministrationGeneralTrigDisplOptions_SimpleUpdate() {
$this->executeSimpleUpdate(true);
}
/**
* Test for checking 'Reset defaults' button.
*/
public function testFormAdministrationGeneralTrigDisplOptions_ResetButton() {
$this->executeResetButtonTest(false);
}
/**
* Test data for Trigger display options form.
*/
public function getCheckFormData() {
return [
// All valid custom values, checked checkboxes, custom colors.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Use custom event status colors' => true,
'Unacknowledged PROBLEM events' => true,
'Acknowledged PROBLEM events' => true,
'Unacknowledged RESOLVED events' => true,
'Acknowledged RESOLVED events' => true,
'Display OK triggers for' => '25m',
'On status change triggers blink for' => '12m',
'Not classified' => 'Test Not classified',
'Information' => 'Test Information',
'Warning' => 'Test Warning',
'Average' => 'Test Average',
'High' => 'Test High',
'Disaster' => 'Test Disaster',
'xpath://button[@id="lbl_problem_unack_color"]/..' => 'D81B60',
'xpath://button[@id="lbl_problem_ack_color"]/..' => 'F8BBD0',
'xpath://button[@id="lbl_ok_unack_color"]/..' => '1A237E',
'xpath://button[@id="lbl_ok_ack_color"]/..' => 'B3E5FC',
'xpath://button[@id="lbl_severity_color_0"]/..' => 'E8EAF6',
'xpath://button[@id="lbl_severity_color_1"]/..' => 'D1C4E9',
'xpath://button[@id="lbl_severity_color_2"]/..' => 'B39DDB' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '9575CD',
'xpath://button[@id="lbl_severity_color_4"]/..' => '673AB7',
'xpath://button[@id="lbl_severity_color_5"]/..' => '4527A0'
],
'db' => [
'custom_color' => 1,
'problem_unack_style' => 1,
'problem_ack_style'=> 1,
'ok_unack_style'=> 1,
'ok_ack_style'=> 1,
'problem_unack_color' => 'D81B60',
'problem_ack_color' => 'F8BBD0',
'ok_unack_color' => '1A237E',
'ok_ack_color' => 'B3E5FC',
'ok_period' => '25m',
'blink_period' => '12m',
'severity_name_0' => 'Test Not classified',
'severity_name_1' => 'Test Information',
'severity_name_2' => 'Test Warning',
'severity_name_3' => 'Test Average',
'severity_name_4' => 'Test High',
'severity_name_5' => 'Test Disaster',
'severity_color_0' => 'E8EAF6',
'severity_color_1' => 'D1C4E9',
'severity_color_2' => 'B39DDB' ,
'severity_color_3' => '9575CD',
'severity_color_4' => '673AB7',
'severity_color_5' => '4527A0'
]
]
],
// Unchecked checkboxes.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Use custom event status colors' => false,
'Unacknowledged PROBLEM events' => false,
'Acknowledged PROBLEM events' => false,
'Unacknowledged RESOLVED events' => false,
'Acknowledged RESOLVED events' => false
],
'db' => [
'custom_color' => 0,
'problem_unack_style' => 0,
'problem_ack_style'=> 0,
'ok_unack_style'=> 0,
'ok_ack_style'=> 0
]
]
],
// Zeros in custom colors.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Use custom event status colors' => true,
'xpath://button[@id="lbl_problem_unack_color"]/..' => '000000',
'xpath://button[@id="lbl_problem_ack_color"]/..' => '000000',
'xpath://button[@id="lbl_ok_unack_color"]/..' => '000000',
'xpath://button[@id="lbl_ok_ack_color"]/..' => '000000',
'xpath://button[@id="lbl_severity_color_0"]/..' => '000000',
'xpath://button[@id="lbl_severity_color_1"]/..' => '000000',
'xpath://button[@id="lbl_severity_color_2"]/..' => '000000' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '000000',
'xpath://button[@id="lbl_severity_color_4"]/..' => '000000',
'xpath://button[@id="lbl_severity_color_5"]/..' => '000000'
],
'db' => [
'custom_color' => 1,
'problem_unack_color' => '000000',
'problem_ack_color' => '000000',
'ok_unack_color' => '000000',
'ok_ack_color' => '000000',
'severity_color_0' => '000000',
'severity_color_1' => '000000',
'severity_color_2' => '000000' ,
'severity_color_3' => '000000',
'severity_color_4' => '000000',
'severity_color_5' => '000000'
]
]
],
// Letters in custom colors.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Use custom event status colors' => true,
'xpath://button[@id="lbl_problem_unack_color"]/..' => 'AAAAAA',
'xpath://button[@id="lbl_problem_ack_color"]/..' => 'BBBBBB',
'xpath://button[@id="lbl_ok_unack_color"]/..' => 'CCCCCC',
'xpath://button[@id="lbl_ok_ack_color"]/..' => 'ABCDEF',
'xpath://button[@id="lbl_severity_color_0"]/..' => 'AAAAAA',
'xpath://button[@id="lbl_severity_color_1"]/..' => 'BBBBBB',
'xpath://button[@id="lbl_severity_color_2"]/..' => 'CCCCCC' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => 'DDDDDD',
'xpath://button[@id="lbl_severity_color_4"]/..' => 'EEEEEE',
'xpath://button[@id="lbl_severity_color_5"]/..' => 'DEDEDE'
],
'db' => [
'custom_color' => 1,
'problem_unack_color' => 'AAAAAA',
'problem_ack_color' => 'BBBBBB',
'ok_unack_color' => 'CCCCCC',
'ok_ack_color' => 'ABCDEF',
'severity_color_0' => 'AAAAAA',
'severity_color_1' => 'BBBBBB',
'severity_color_2' => 'CCCCCC' ,
'severity_color_3' => 'DDDDDD',
'severity_color_4' => 'EEEEEE',
'severity_color_5' => 'DEDEDE'
]
]
],
// Maximal valid values.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Use custom event status colors' => true,
'Not classified' => 'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN',
'Information' => 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII',
'Warning' => 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW',
'Average' => 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
'High' => 'HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH',
'Disaster' => 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD',
'xpath://button[@id="lbl_problem_unack_color"]/..' => '999999',
'xpath://button[@id="lbl_problem_ack_color"]/..' => '999999',
'xpath://button[@id="lbl_ok_unack_color"]/..' => '999999',
'xpath://button[@id="lbl_ok_ack_color"]/..' => '999999',
'xpath://button[@id="lbl_severity_color_0"]/..' => '999999',
'xpath://button[@id="lbl_severity_color_1"]/..' => '999999',
'xpath://button[@id="lbl_severity_color_2"]/..' => '999999' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '999999',
'xpath://button[@id="lbl_severity_color_4"]/..' => '999999',
'xpath://button[@id="lbl_severity_color_5"]/..' => '999999'
],
'db' => [
'custom_color' => 1,
'problem_unack_color' => '999999',
'problem_ack_color' => '999999',
'ok_unack_color' => '999999',
'ok_ack_color' => '999999',
'severity_name_0' => 'NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN',
'severity_name_1' => 'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII',
'severity_name_2' => 'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW',
'severity_name_3' => 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
'severity_name_4' => 'HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH',
'severity_name_5' => 'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD',
'severity_color_0' => '999999',
'severity_color_1' => '999999',
'severity_color_2' => '999999' ,
'severity_color_3' => '999999',
'severity_color_4' => '999999',
'severity_color_5' => '999999'
]
]
],
// Valid zero values in time in period fields without "s".
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0',
'On status change triggers blink for' => '0'
],
'db' => [
'ok_period' => '0',
'blink_period' => '0'
]
]
],
// Valid zero values in time in period fields with "s".
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0s',
'On status change triggers blink for' => '0s'
],
'db' => [
'ok_period' => '0s',
'blink_period' => '0s'
]
]
],
// Valid zero values in minutes.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0m',
'On status change triggers blink for' => '0m'
],
'db' => [
'ok_period' => '0m',
'blink_period' => '0m'
]
]
],
// Valid zero values in hours.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0h',
'On status change triggers blink for' => '0h'
],
'db' => [
'ok_period' => '0h',
'blink_period' => '0h'
]
]
],
// Valid zero values in days.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0d',
'On status change triggers blink for' => '0d'
],
'db' => [
'ok_period' => '0d',
'blink_period' => '0d'
]
]
],
// Valid zero values in weeks.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '0w',
'On status change triggers blink for' => '0w'
],
'db' => [
'ok_period' => '0w',
'blink_period' => '0w'
]
]
],
// Valid maximum values in period fields in seconds without "s".
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '86400',
'On status change triggers blink for' => '86400'
],
'db' => [
'ok_period' => '86400',
'blink_period' => '86400'
]
]
],
// Valid maximum values in period fields in seconds with "s".
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '86400s',
'On status change triggers blink for' => '86400s'
],
'db' => [
'ok_period' => '86400s',
'blink_period' => '86400s'
]
]
],
// Valid maximum values in period fields with in minutes.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '1440m',
'On status change triggers blink for' => '1440m'
],
'db' => [
'ok_period' => '1440m',
'blink_period' => '1440m'
]
]
],
// Valid maximum values in period fields with in hours.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '24h',
'On status change triggers blink for' => '24h'
],
'db' => [
'ok_period' => '24h',
'blink_period' => '24h'
]
]
],
// Valid maximum values in period fields with in days.
[
[
'expected' => TEST_GOOD,
'fields' => [
'Display OK triggers for' => '1d',
'On status change triggers blink for' => '1d'
],
'db' => [
'ok_period' => '1d',
'blink_period' => '1d'
]
]
],
// Invalid zero values in Moths (Months not supported).
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '0M',
'On status change triggers blink for' => '0M'
],
'details' => [
'Incorrect value for field "ok_period": a time unit is expected.',
'Incorrect value for field "blink_period": a time unit is expected.'
]
]
],
// Invalid zero values in years (years not supported).
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '0y',
'On status change triggers blink for' => '0y'
],
'details' => [
'Incorrect value for field "ok_period": a time unit is expected.',
'Incorrect value for field "blink_period": a time unit is expected.'
]
]
],
// Invalid maximum values in period fields in seconds without "s".
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '86401',
'On status change triggers blink for' => '86401'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Invalid maximum values in period fields in seconds with "s".
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '86401s',
'On status change triggers blink for' => '86401s'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Invalid maximum values in period fields in minutes.
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '1441m',
'On status change triggers blink for' => '1441m'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Invalid maximum values in period fields in hours.
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '25h',
'On status change triggers blink for' => '25h'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Invalid maximum values in period fields in days.
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '2d',
'On status change triggers blink for' => '2d'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Maximal invalid values in period fields.
[
[
'expected' => TEST_BAD,
'fields' => [
'Display OK triggers for' => '99999999999999999999999999999999',
'On status change triggers blink for' => '99999999999999999999999999999999'
],
'details' => [
'Incorrect value for field "ok_period": value must be one of 0-86400.',
'Incorrect value for field "blink_period": value must be one of 0-86400.'
]
]
],
// Invalid string values.
[
[
'expected' => TEST_BAD,
'fields' => [
'Use custom event status colors' => true,
'Display OK triggers for' => 'test',
'On status change triggers blink for' => 'test'
],
'details' => [
'Incorrect value for field "ok_period": a time unit is expected.',
'Incorrect value for field "blink_period": a time unit is expected.'
]
]
],
// Invalid string values.
[
[
'expected' => TEST_BAD,
'fields' => [
'Use custom event status colors' => true,
'Display OK triggers for' => '!@#$%^&*()_+',
'On status change triggers blink for' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_problem_unack_color"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_problem_ack_color"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_ok_unack_color"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_ok_ack_color"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_severity_color_0"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_severity_color_1"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_severity_color_2"]/..' => '!@#$%^&*()_+' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_severity_color_4"]/..' => '!@#$%^&*()_+',
'xpath://button[@id="lbl_severity_color_5"]/..' => '!@#$%^&*()_+'
],
'details' => [
'Incorrect value for field "problem_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "problem_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_period": a time unit is expected.',
'Incorrect value for field "blink_period": a time unit is expected.',
'Incorrect value for field "severity_color_0": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_1": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_2": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_3": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_4": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_5": a hexadecimal color code (6 symbols) is expected.'
]
]
],
// Invalid empty values.
[
[
'expected' => TEST_BAD,
'fields' => [
'Use custom event status colors' => true,
'Display OK triggers for' => '',
'On status change triggers blink for' => '',
'Not classified' => '',
'Information' => '',
'Warning' => '',
'Average' => '',
'High' => '',
'Disaster' => '',
'xpath://button[@id="lbl_problem_unack_color"]/..' => '',
'xpath://button[@id="lbl_problem_ack_color"]/..'=> '',
'xpath://button[@id="lbl_ok_unack_color"]/..'=> '',
'xpath://button[@id="lbl_ok_ack_color"]/..'=> '',
'xpath://button[@id="lbl_severity_color_0"]/..' => '',
'xpath://button[@id="lbl_severity_color_1"]/..' => '',
'xpath://button[@id="lbl_severity_color_2"]/..' => '' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '',
'xpath://button[@id="lbl_severity_color_4"]/..' => '',
'xpath://button[@id="lbl_severity_color_5"]/..' => ''
],
'details' => [
'Incorrect value for field "problem_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "problem_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_period": cannot be empty.',
'Incorrect value for field "blink_period": cannot be empty.',
'Incorrect value for field "severity_name_0": cannot be empty.',
'Incorrect value for field "severity_color_0": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_name_1": cannot be empty.',
'Incorrect value for field "severity_color_1": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_name_2": cannot be empty.',
'Incorrect value for field "severity_color_2": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_name_3": cannot be empty.',
'Incorrect value for field "severity_color_3": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_name_4": cannot be empty.',
'Incorrect value for field "severity_color_4": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_name_5": cannot be empty.',
'Incorrect value for field "severity_color_5": a hexadecimal color code (6 symbols) is expected.'
]
]
],
// Invalid negative values.
[
[
'expected' => TEST_BAD,
'fields' => [
'Use custom event status colors' => true,
'Display OK triggers for' => '-1',
'On status change triggers blink for' => '-1',
'xpath://button[@id="lbl_problem_unack_color"]/..' => '-1 ',
'xpath://button[@id="lbl_problem_ack_color"]/..'=> '-1 ',
'xpath://button[@id="lbl_ok_unack_color"]/..'=> '-1 ',
'xpath://button[@id="lbl_ok_ack_color"]/..'=> '-1 ',
'xpath://button[@id="lbl_severity_color_0"]/..' => '-1 ',
'xpath://button[@id="lbl_severity_color_1"]/..' => '-1 ',
'xpath://button[@id="lbl_severity_color_2"]/..' => '-1 ' ,
'xpath://button[@id="lbl_severity_color_3"]/..' => '-1 ',
'xpath://button[@id="lbl_severity_color_4"]/..' => '-1 ',
'xpath://button[@id="lbl_severity_color_5"]/..' => '-1 '
],
'details' => [
'Incorrect value for field "problem_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "problem_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_unack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_ack_color": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "ok_period": a time unit is expected.',
'Incorrect value for field "blink_period": a time unit is expected.',
'Incorrect value for field "severity_color_0": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_1": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_2": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_3": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_4": a hexadecimal color code (6 symbols) is expected.',
'Incorrect value for field "severity_color_5": a hexadecimal color code (6 symbols) is expected.'
]
]
]
];
}
/**
* Backup in needed because of DEV-1673, and can be removed after bug is fixed.
* @backup config
*
* @dataProvider getCheckFormData
*/
public function testFormAdministrationGeneralTrigDisplOptions_CheckForm($data) {
$this->executeCheckForm($data, false);
}
}