<?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/>. **/ class WebScenarios { const HOSTID = 40001; /** * Create data for web scenarios related tests. * * @return array */ public static function load() { $host = 'Host for Web scenario testing'; $template = 'Template for web scenario testing'; $template_responce = CDataHelper::createTemplates([ [ 'host' => $template, 'groups' => [ 'groupid' => 1 ] ] ]); $templateid = $template_responce['templateids'][$template]; CDataHelper::call('host.update', [ [ 'hostid' => self::HOSTID, 'templates' => [ 'templateid' => $templateid ] ] ]); CDataHelper::call('httptest.create', [ [ 'name' => 'Scenario for Update', 'hostid' => self::HOSTID, 'agent' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)', 'steps' => [ [ 'name' => 'step 1 of scenario 1', 'url' => 'http://zabbix.com', 'no' => 1 ] ], 'tags' => [ [ 'tag' => 'FirstTag', 'value' => 'value 1' ] ] ], [ 'name' => 'Scenario for Delete', 'hostid' => self::HOSTID, 'delay' => 180, 'agent' => 'Links (2.8; Linux 3.13.0-36-generic x86_64; GNU C 4.8.2; text)', 'steps' => [ [ 'name' => '!@#$%^&*()_+ōš六書', 'url' => 'http://zabbix.com', 'no' => 1 ], [ 'name' => 'Второй этап вэб сценария', 'url' => 'http://zabbix.com', 'no' => 2 ] ], 'tags' => [ [ 'tag' => 'SecondTag', 'value' => 'value 2' ], [ 'tag' => 'ThirdTag', 'value' => 'value 3' ] ] ], [ 'name' => 'Scenario for Clone', 'hostid' => self::HOSTID, 'delay' => 10, 'agent' => 'My_custom_agent_string !@#$%^&*()_+=-', 'authentication' => 2, 'http_user' => 'Admin', 'http_password' => 'zabbix!@#$%^&*()_+', 'http_proxy' => 'http://Admin:zabbix@proxy.zabbix.com:666', 'retries' => 3, 'ssl_cert_file' => 'cert_!@#$%^&*()_+.pem', 'ssl_key_file' => 'key_!@#$%^&*()_+.pem', 'ssl_key_password' => '!@#$%^&*()_+', 'status' => 1, 'verify_host' => 1, 'verify_peer' => 1, 'headers' => [ [ 'name' => '!@#$%^&*()_-=+', 'value' => '+=_-)(*&^%$#@' ] ], 'variables' => [ [ 'name' => '{!@#$%^&*()_-=+}', 'value' => '+=_-)(*&^%$#@' ] ], 'tags' => [ [ 'tag' => 'first tag', 'value' => 'first tag value' ], [ 'tag' => '!@#$%^&*()_+', 'value' => '仕事で良い一日を過ごしてください' ] ], 'steps' => [ [ 'name' => 'Первый этап вэб сценария', 'url' => 'http://zabbix.com', 'no' => 1, 'follow_redirects' => 0, 'headers' => [ [ 'name' => 'step_header1', 'value' => 'step_value1' ], [ 'name' => 'step_!@#$%^&*()_-=+', 'value' => '+=_-)(*&^%$#@_pets' ] ], 'posts' => [ [ 'name' => 'post1', 'value' => 'post_value1' ], [ 'name' => 'post_!@#$%^&*()_-=+', 'value' => '+=_-)(*&^%$#@_tsop' ] ], 'required' => 'Zabbix', 'retrieve_mode' => 2, 'status_codes' => '200,301,404', 'timeout' => '2m', 'variables' => [ [ 'name' => '{step_!@#$%^&*()_-=+}', 'value' => '+=_-)(*&^%$#@_pets' ], [ 'name' => '{step_variable1}', 'value' => 'step_value1' ] ], 'query_fields' => [ [ 'name' => '{step_query1}', 'value' => 'query_value1' ], [ 'name' => 'query_!@#$%^&*()_-=+', 'value' => '+=_-)(*&^%$#@_yreuq' ] ] ], [ 'name' => 'step 2 of clone scenario', 'url' => 'http://zabbix.com', 'no' => 2 ] ] ], [ 'name' => 'Template_Web_scenario', 'hostid' => $templateid, 'agent' => 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)', 'steps' => [ [ 'name' => 'step 1 of scenario 1', 'url' => 'http://zabbix.com', 'no' => 1 ] ], 'tags' => [ [ 'tag' => 'FourthTag', 'value' => 'value 4' ], [ 'tag' => 'FifthTag', 'value' => 'value 5' ], [ 'tag' => 'SixthTag', 'value' => 'value 6' ] ] ] ]); return [ 'hostid' => self::HOSTID, 'templateid' => $templateid, 'template_name' => $template, 'httptestids' => CDataHelper::getIds('name') ]; } }