require_once dirname(__FILE__).'/../include/CLegacyWebTest.php';
class testPageAdministrationScripts extends CLegacyWebTest {
private $sqlHashScripts = '';
private $oldHashScripts = '';
private function calculateHash($scriptid) {
$this->sqlHashScripts = 'SELECT * FROM scripts WHERE scriptid='.$scriptid;
$this->oldHashScripts = CDBHelper::getHash($this->sqlHashScripts);
private function verifyHash() {
$this->assertEquals($this->oldHashScripts, CDBHelper::getHash($this->sqlHashScripts));
public static function allScripts() {
return CDBHelper::getDataProvider('SELECT scriptid,name FROM scripts');
public function testPageAdministrationScripts_CheckLayout() {
$this->zbxTestLogin('zabbix.php?action=script.list');
$this->zbxTestCheckTitle('Configuration of scripts');
$this->zbxTestCheckHeader('Scripts');
$this->zbxTestTextPresent('Displaying');
$this->zbxTestTextPresent(
['Name', 'Type', 'Execute on', 'Commands', 'User group', 'Host group', 'Host access']
$dbResult = DBselect('SELECT name,command FROM scripts');
while ($dbRow = DBfetch($dbResult)) {
$command= str_replace('>&', '>&', $dbRow['command']);
$this->zbxTestTextPresent([$dbRow['name'], $command]);
public function testPageAdministrationScripts_SimpleUpdate($script) {
$this->calculateHash($script['scriptid']);