diff options
author | Alexander Shubin <aleksandrs.subins@zabbix.com> | 2022-11-04 17:14:01 +0300 |
---|---|---|
committer | Alexander Shubin <aleksandrs.subins@zabbix.com> | 2022-11-04 17:14:01 +0300 |
commit | f0ae83c9c6a0f16ea54283a9b2207ffec15d957d (patch) | |
tree | 732d0f34f2ed32495c67d6469431072b83223fbf /ui | |
parent | 4c248f3b3f2c1c14f844e0d3475106d539570f85 (diff) | |
parent | 1223ddc901b40a90c382639b2b2291d530aaf49d (diff) |
.......... [ZBXNEXT-7469] updated to latest master; conflicts resolved in:
# ui/app/views/monitoring.latest.view.php
# ui/tests/include/web/elements/CWidgetElement.php
Diffstat (limited to 'ui')
43 files changed, 562 insertions, 403 deletions
diff --git a/ui/app/controllers/CControllerLatestView.php b/ui/app/controllers/CControllerLatestView.php index d31f904b9a4..8c98c1b93df 100644 --- a/ui/app/controllers/CControllerLatestView.php +++ b/ui/app/controllers/CControllerLatestView.php @@ -200,6 +200,7 @@ class CControllerLatestView extends CControllerLatest { 'sort_order' => $sort_order, 'view_curl' => $view_url, 'paging' => $paging, + 'uncheck' => $this->hasInput('filter_reset'), 'config' => [ 'hk_trends' => CHousekeepingHelper::get(CHousekeepingHelper::HK_TRENDS), 'hk_trends_global' => CHousekeepingHelper::get(CHousekeepingHelper::HK_TRENDS_GLOBAL), diff --git a/ui/app/views/js/monitoring.latest.view.js.php b/ui/app/views/js/monitoring.latest.view.js.php index e727894273d..0171c31ec34 100644 --- a/ui/app/views/js/monitoring.latest.view.js.php +++ b/ui/app/views/js/monitoring.latest.view.js.php @@ -71,11 +71,11 @@ this.filter.on(TABFILTER_EVENT_URLSET, () => { this.reloadPartialAndTabCounters(); + chkbxRange.clearSelectedOnFilterChange(); if (this.active_filter !== this.filter._active_item) { this.active_filter = this.filter._active_item; chkbxRange.checkObjectAll(chkbxRange.pageGoName, false); - chkbxRange.clearSelectedOnFilterChange(); } }); diff --git a/ui/app/views/js/monitoring.problem.view.js.php b/ui/app/views/js/monitoring.problem.view.js.php index 931f317fb28..4f854d9976a 100644 --- a/ui/app/views/js/monitoring.problem.view.js.php +++ b/ui/app/views/js/monitoring.problem.view.js.php @@ -95,11 +95,11 @@ this.refreshResults(); this.refreshCounters(); + chkbxRange.clearSelectedOnFilterChange(); if (this.active_filter !== this.filter._active_item) { this.active_filter = this.filter._active_item; chkbxRange.checkObjectAll(chkbxRange.pageGoName, false); - chkbxRange.clearSelectedOnFilterChange(); } }); diff --git a/ui/app/views/monitoring.latest.view.php b/ui/app/views/monitoring.latest.view.php index fcb44b141fd..965166b187d 100644 --- a/ui/app/views/monitoring.latest.view.php +++ b/ui/app/views/monitoring.latest.view.php @@ -35,6 +35,10 @@ $this->includeJsFile('monitoring.latest.view.js.php'); $this->enableLayoutModes(); $web_layout_mode = $this->getLayoutMode(); +if ($data['uncheck']) { + uncheckTableRows('latest'); +} + $html_page = (new CHtmlPage()) ->setTitle(_('Latest data')) ->setWebLayoutMode($web_layout_mode) diff --git a/ui/js/class.widget.js b/ui/js/class.widget.js index 9300fb4b7ee..2584a6c23cc 100644 --- a/ui/js/class.widget.js +++ b/ui/js/class.widget.js @@ -126,6 +126,8 @@ class CWidget extends CBaseComponent { this._update_retry_sec = 3; this._show_preloader_asap = true; this._resizable_handles = []; + + this._hide_preloader_animation_frame = null; } // Logical state control methods. @@ -819,15 +821,38 @@ class CWidget extends CBaseComponent { } _showPreloader() { + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + cancelAnimationFrame(this._hide_preloader_animation_frame); + this._hide_preloader_animation_frame = null; + } + this._content_body.classList.add('is-loading'); this._content_body.classList.remove('is-loading-fadein', 'delayed-15s'); } _hidePreloader() { - this._content_body.classList.remove('is-loading', 'is-loading-fadein', 'delayed-15s'); + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + return; + } + + this._hide_preloader_animation_frame = requestAnimationFrame(() => { + this._content_body.classList.remove('is-loading', 'is-loading-fadein', 'delayed-15s'); + this._hide_preloader_animation_frame = null; + }); } _schedulePreloader() { + // Fixed Safari 16 bug: removing preloader classes on animation frame to ensure removal of icons. + + if (this._hide_preloader_animation_frame !== null) { + cancelAnimationFrame(this._hide_preloader_animation_frame); + this._hide_preloader_animation_frame = null; + } + this._content_body.classList.add('is-loading', 'is-loading-fadein', 'delayed-15s'); } diff --git a/ui/tests/include/web/CPage.php b/ui/tests/include/web/CPage.php index cc2abc0f9fa..eab84952c98 100644 --- a/ui/tests/include/web/CPage.php +++ b/ui/tests/include/web/CPage.php @@ -219,7 +219,6 @@ class CPage { self::$cookie = [ 'name' => 'zbx_session', 'value' => base64_encode(json_encode($data)), - 'domain' => parse_url(PHPUNIT_URL, PHP_URL_HOST), 'path' => rtrim(substr($path, 0, strrpos($path, '/')), '/') ]; diff --git a/ui/tests/include/web/elements/CWidgetElement.php b/ui/tests/include/web/elements/CWidgetElement.php index 1bbafec7bbb..beb333f7861 100644 --- a/ui/tests/include/web/elements/CWidgetElement.php +++ b/ui/tests/include/web/elements/CWidgetElement.php @@ -76,7 +76,7 @@ class CWidgetElement extends CElement { */ public function edit() { // Edit can sometimes fail so we have to retry this operation. - for ($i = 0; $i < 2; $i++) { + for ($i = 0; $i < 4; $i++) { $this->query('xpath:.//button[contains(@class, "btn-widget-edit")]')->waitUntilPresent()->one()->click(true); try { diff --git a/ui/tests/integration/testAgentItems.php b/ui/tests/integration/testAgentItems.php index e1c0813c8ca..af4aad83063 100644 --- a/ui/tests/integration/testAgentItems.php +++ b/ui/tests/integration/testAgentItems.php @@ -36,6 +36,7 @@ class testAgentItems extends CIntegrationTest { const TEST_FILE_BASE_NAME = 'test_file'; const TEST_LINK_BASE_NAME = 'test_link'; const TEST_FILE_NAME = '/tmp/'.self::TEST_FILE_BASE_NAME; + const TEST_FILE_NAME_ACCESS = '/tmp/'.self::TEST_FILE_BASE_NAME.'_access_test'; const TEST_LINK_NAME = '/tmp/'.self::TEST_LINK_BASE_NAME; const TEST_LINK_NAME2 = '/tmp/'.self::TEST_LINK_BASE_NAME.'2'; const TEST_DIR_NAME = '/tmp/dir'; @@ -196,7 +197,7 @@ class testAgentItems extends CIntegrationTest { 'result' => 'b73a96d498012c84fc2ffa1df3c4461689cb90456ee300654723205c26ec4988' ], [ - 'key' => 'vfs.file.get['.self::TEST_FILE_NAME.']', + 'key' => 'vfs.file.get['.self::TEST_FILE_NAME_ACCESS.']', 'type' => ITEM_TYPE_ZABBIX, 'component' => self::COMPONENT_AGENT, 'valueType' => ITEM_VALUE_TYPE_TEXT, @@ -204,24 +205,24 @@ class testAgentItems extends CIntegrationTest { 'fields_exec' => ['permissions', 'user', 'group', 'uid', 'gid', 'access', 'change'], 'result' => [ 'type' => 'file', - 'permissions' => 'stat -c %04a '.self::TEST_FILE_NAME, - 'user' => 'stat -c %U '.self::TEST_FILE_NAME, - 'group' => 'stat -c %G '.self::TEST_FILE_NAME, - 'uid' => 'stat -c %u '.self::TEST_FILE_NAME, - 'gid' => 'stat -c %g '.self::TEST_FILE_NAME, + 'permissions' => 'stat -c %04a '.self::TEST_FILE_NAME_ACCESS, + 'user' => 'stat -c %U '.self::TEST_FILE_NAME_ACCESS, + 'group' => 'stat -c %G '.self::TEST_FILE_NAME_ACCESS, + 'uid' => 'stat -c %u '.self::TEST_FILE_NAME_ACCESS, + 'gid' => 'stat -c %g '.self::TEST_FILE_NAME_ACCESS, 'size' => 27, 'time' => [ 'modify' => '2021-03-29T14:59:09+0300' ], 'timestamp' => [ - 'access' => 'stat -c %X '.self::TEST_FILE_NAME, + 'access' => 'stat -c %X '.self::TEST_FILE_NAME_ACCESS, 'modify' => self::TEST_MOD_TIMESTAMP, - 'change' => 'stat -c %Z '.self::TEST_FILE_NAME + 'change' => 'stat -c %Z '.self::TEST_FILE_NAME_ACCESS ] ] ], [ - 'key' => 'vfs.file.get['.self::TEST_FILE_NAME.']', + 'key' => 'vfs.file.get['.self::TEST_FILE_NAME_ACCESS.']', 'type' => ITEM_TYPE_ZABBIX, 'component' => self::COMPONENT_AGENT2, 'valueType' => ITEM_VALUE_TYPE_TEXT, @@ -229,19 +230,19 @@ class testAgentItems extends CIntegrationTest { 'fields_exec' => ['permissions', 'user', 'group', 'uid', 'gid', 'access', 'change'], 'result' => [ 'type' => 'file', - 'permissions' => 'stat -c %04a '.self::TEST_FILE_NAME, - 'user' => 'stat -c %U '.self::TEST_FILE_NAME, - 'group' => 'stat -c %G '.self::TEST_FILE_NAME, - 'uid' => 'stat -c %u '.self::TEST_FILE_NAME, - 'gid' => 'stat -c %g '.self::TEST_FILE_NAME, + 'permissions' => 'stat -c %04a '.self::TEST_FILE_NAME_ACCESS, + 'user' => 'stat -c %U '.self::TEST_FILE_NAME_ACCESS, + 'group' => 'stat -c %G '.self::TEST_FILE_NAME_ACCESS, + 'uid' => 'stat -c %u '.self::TEST_FILE_NAME_ACCESS, + 'gid' => 'stat -c %g '.self::TEST_FILE_NAME_ACCESS, 'size' => 27, 'time' => [ 'modify' => '2021-03-29T14:59:09+03:00' ], 'timestamp' => [ - 'access' => 'stat -c %X '.self::TEST_FILE_NAME, + 'access' => 'stat -c %X '.self::TEST_FILE_NAME_ACCESS, 'modify' => self::TEST_MOD_TIMESTAMP, - 'change' => 'stat -c %Z '.self::TEST_FILE_NAME + 'change' => 'stat -c %Z '.self::TEST_FILE_NAME_ACCESS ] ] ], @@ -708,6 +709,8 @@ class testAgentItems extends CIntegrationTest { // Write test file $this->assertTrue(@file_put_contents(self::TEST_FILE_NAME, "1st line\n2nd line\n3rd line\n") !== false); $this->assertTrue(@touch(self::TEST_FILE_NAME, self::TEST_MOD_TIMESTAMP)); + $this->assertTrue(@file_put_contents(self::TEST_FILE_NAME_ACCESS, "1st line\n2nd line\n3rd line\n") !== false); + $this->assertTrue(@touch(self::TEST_FILE_NAME_ACCESS, self::TEST_MOD_TIMESTAMP)); $this->assertTrue(@file_put_contents(self::TEST_DIR_FILE_NAME, "1st line\n2nd line\n3rd line\n") !== false); $this->assertTrue(@touch(self::TEST_DIR_FILE_NAME, self::TEST_MOD_TIMESTAMP)); @@ -727,6 +730,8 @@ class testAgentItems extends CIntegrationTest { $this->assertTrue(@touch(self::TEST_DIR_DIR1_NAME, self::TEST_MOD_TIMESTAMP)); + $this->assertTrue(@exec('touch -h -a -m -t 202103291459.09 '.self::TEST_FILE_NAME_ACCESS) !== false); + return true; } diff --git a/ui/tests/integration/testGoAgentDataCollection.php b/ui/tests/integration/testGoAgentDataCollection.php index 907ecb321e3..9ea43a5062a 100644 --- a/ui/tests/integration/testGoAgentDataCollection.php +++ b/ui/tests/integration/testGoAgentDataCollection.php @@ -220,31 +220,31 @@ class testGoAgentDataCollection extends CIntegrationTest { 'key' => 'system.cpu.util[,,avg1]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 0.5 + 'threshold' => 0.9 ], [ 'key' => 'system.cpu.load[,avg1]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 0.5 + 'threshold' => 0.9 ], [ 'key' => 'vfs.dev.read[,operations]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 10 + 'threshold' => 1000 ], [ 'key' => 'vfs.dev.write[,operations]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 100 + 'threshold' => 10000 ], [ 'key' => 'proc.cpu.util[,,,,avg1]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 10.0, + 'threshold' => 90.0, 'compareType' => self::COMPARE_AVERAGE ], [ @@ -258,60 +258,60 @@ class testGoAgentDataCollection extends CIntegrationTest { 'key' => 'system.swap.out[,pages]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 100, + 'threshold' => 10000, 'compareType' => self::COMPARE_AVERAGE ], [ 'key' => 'proc.mem[zabbix_server,zabbix,avg]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 100.0 + 'threshold' => 10000.0 ], [ 'key' => 'web.page.perf[http://localhost]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 1.0, + 'threshold' => 100.0, 'compareType' => self::COMPARE_AVERAGE ], [ 'key' => 'net.tcp.service.perf[ssh]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 0.05 + 'threshold' => 5.00 ], [ 'key' => 'net.udp.service.perf[ntp]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 0.05 + 'threshold' => 5.00 ], [ 'key' => 'system.swap.size[,total]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 100, + 'threshold' => 10000, 'compareType' => self::COMPARE_AVERAGE ], [ 'key' => 'vfs.fs.inode[/,pfree]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_FLOAT, - 'threshold' => 0.1, + 'threshold' => 0.9, 'compareType' => self::COMPARE_AVERAGE ], [ 'key' => 'vfs.fs.size[/tmp,free]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 10000000, + 'threshold' => 100000000, 'compareType' => self::COMPARE_AVERAGE ], [ 'key' => 'vm.memory.size[free]', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_UINT64, - 'threshold' => 10000000, + 'threshold' => 100000000, 'compareType' => self::COMPARE_AVERAGE ], [// Should be treated as a special case, since this metric returns JSON object. @@ -319,7 +319,7 @@ class testGoAgentDataCollection extends CIntegrationTest { 'key' => 'zabbix.stats[127.0.0.1,'.PHPUNIT_PORT_PREFIX.self::SERVER_PORT_SUFFIX.']', 'type' => ITEM_TYPE_ZABBIX, 'valueType' => ITEM_VALUE_TYPE_TEXT, - 'threshold' => 50 + 'threshold' => 500 ] ]; diff --git a/ui/tests/selenium/SeleniumTests.php b/ui/tests/selenium/SeleniumTests.php index 027d75ff686..e608b99e19a 100644 --- a/ui/tests/selenium/SeleniumTests.php +++ b/ui/tests/selenium/SeleniumTests.php @@ -21,14 +21,159 @@ require_once dirname(__FILE__).'/testDocumentationLinks.php'; require_once dirname(__FILE__).'/testGeneric.php'; + +// Actions. +require_once dirname(__FILE__).'/actions/testFormAction.php'; +require_once dirname(__FILE__).'/actions/testPageActions.php'; + +// Api tokens. +require_once dirname(__FILE__).'/apiTokens/testPageApiTokensAdministrationGeneral.php'; +require_once dirname(__FILE__).'/apiTokens/testPageApiTokensUserSettings.php'; +require_once dirname(__FILE__).'/apiTokens/testFormApiTokensAdministrationGeneral.php'; +require_once dirname(__FILE__).'/apiTokens/testFormApiTokensUserSettings.php'; + +// Dashboards. +require_once dirname(__FILE__).'/dashboard/testDashboardCopyWidgets.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardDynamicItemWidgets.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardFavoriteGraphsWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardFavoriteMapsWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardForm.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardGeomapWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardGraphPrototypeWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardGraphWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardHostAvailabilityWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardItemValueWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardPages.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardProblemsBySeverityWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardSlaReportWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardSystemInformationWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardTopHostsWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardTriggerOverviewWidget.php'; +require_once dirname(__FILE__).'/dashboard/testDashboardViewMode.php'; +require_once dirname(__FILE__).'/dashboard/testFormTemplateDashboards.php'; +require_once dirname(__FILE__).'/dashboard/testPageDashboardList.php'; +require_once dirname(__FILE__).'/dashboard/testPageDashboardWidgets.php'; +require_once dirname(__FILE__).'/dashboard/testPageTemplateDashboards.php'; + +// Filter tabs. +require_once dirname(__FILE__).'/filterTabs/testFormFilterHosts.php'; +require_once dirname(__FILE__).'/filterTabs/testFormFilterLatestData.php'; +require_once dirname(__FILE__).'/filterTabs/testFormFilterProblems.php'; + +// Geomaps. +require_once dirname(__FILE__).'/geomaps/testFormAdministrationGeneralGeomaps.php'; +require_once dirname(__FILE__).'/geomaps/testGeomapWidgetScreenshots.php'; + +// Hosts. +require_once dirname(__FILE__).'/hosts/testFormHostFromConfiguration.php'; +require_once dirname(__FILE__).'/hosts/testFormHostFromMonitoring.php'; +require_once dirname(__FILE__).'/hosts/testFormHostFromStandalone.php'; +require_once dirname(__FILE__).'/hosts/testFormHostLinkTemplates.php'; +require_once dirname(__FILE__).'/hosts/testFormHostPrototype.php'; +require_once dirname(__FILE__).'/hosts/testPageHostInterfaces.php'; +require_once dirname(__FILE__).'/hosts/testPageHostPrototypes.php'; +require_once dirname(__FILE__).'/hosts/testPageHosts.php'; +require_once dirname(__FILE__).'/hosts/testPageMonitoringHosts.php'; + +// Items. +require_once dirname(__FILE__).'/items/testFormItem.php'; +require_once dirname(__FILE__).'/items/testFormItemHttpAgent.php'; +require_once dirname(__FILE__).'/items/testFormItemPrototype.php'; +require_once dirname(__FILE__).'/items/testFormTestItem.php'; +require_once dirname(__FILE__).'/items/testFormTestItemPrototype.php'; +require_once dirname(__FILE__).'/items/testFormulaCalculatedItem.php'; +require_once dirname(__FILE__).'/items/testFormulaCalculatedItemPrototype.php'; +require_once dirname(__FILE__).'/items/testInheritanceItem.php'; +require_once dirname(__FILE__).'/items/testInheritanceItemPrototype.php'; +require_once dirname(__FILE__).'/items/testItemTypeSelection.php'; +require_once dirname(__FILE__).'/items/testPageItemPrototypes.php'; +require_once dirname(__FILE__).'/items/testPageItems.php'; + +// LLD. +require_once dirname(__FILE__).'/lld/testFormLowLevelDiscovery.php'; +require_once dirname(__FILE__).'/lld/testFormLowLevelDiscoveryOverrides.php'; +require_once dirname(__FILE__).'/lld/testFormTestLowLevelDiscovery.php'; +require_once dirname(__FILE__).'/lld/testInheritanceDiscoveryRule.php'; +require_once dirname(__FILE__).'/lld/testPageLowLevelDiscovery.php'; + +// Macros. +require_once dirname(__FILE__).'/macros/testFormMacrosAdministrationGeneral.php'; +require_once dirname(__FILE__).'/macros/testFormMacrosHost.php'; +require_once dirname(__FILE__).'/macros/testFormMacrosHostPrototype.php'; +require_once dirname(__FILE__).'/macros/testFormMacrosTemplate.php'; + +// Monitoring. +require_once dirname(__FILE__).'/monitoring/testPageMonitoringLatestData.php'; + +// Preprocessing. +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingCloneHost.php'; +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingCloneTemplate.php'; +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingItem.php'; +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingItemPrototype.php'; +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingLowLevelDiscovery.php'; +require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingTest.php'; + +// Problems. +require_once dirname(__FILE__).'/problems/testFormUpdateProblem.php'; +require_once dirname(__FILE__).'/problems/testPageProblems.php'; + +// Proxies. +require_once dirname(__FILE__).'/proxies/testFormAdministrationProxies.php'; +require_once dirname(__FILE__).'/proxies/testPageAdministrationProxies.php'; + +// Reports. +require_once dirname(__FILE__).'/reports/testFormScheduledReport.php'; +require_once dirname(__FILE__).'/reports/testPageAvailabilityReport.php'; +require_once dirname(__FILE__).'/reports/testPageReportsActionLog.php'; +require_once dirname(__FILE__).'/reports/testPageReportsAudit.php'; +require_once dirname(__FILE__).'/reports/testPageReportsNotifications.php'; +require_once dirname(__FILE__).'/reports/testPageReportsSystemInformation.php'; +require_once dirname(__FILE__).'/reports/testPageReportsTriggerTop.php'; +require_once dirname(__FILE__).'/reports/testPageScheduledReport.php'; +require_once dirname(__FILE__).'/reports/testScheduledReportPermissions.php'; + +// Roles. +require_once dirname(__FILE__).'/roles/testFormUserRoles.php'; +require_once dirname(__FILE__).'/roles/testPageUserRoles.php'; +require_once dirname(__FILE__).'/roles/testUserRolesPermissions.php'; + +// Services. +require_once dirname(__FILE__).'/services/testFormServicesServices.php'; +require_once dirname(__FILE__).'/services/testPageServicesServices.php'; +require_once dirname(__FILE__).'/services/testPageServicesServicesMassUpdate.php'; + +// SLA. +require_once dirname(__FILE__).'/sla/testFormServicesSla.php'; +require_once dirname(__FILE__).'/sla/testPageServicesSla.php'; +require_once dirname(__FILE__).'/sla/testPageServicesSlaReport.php'; + +// Tags. +require_once dirname(__FILE__).'/tags/testFormTagsHost.php'; +require_once dirname(__FILE__).'/tags/testFormTagsHostPrototype.php'; +require_once dirname(__FILE__).'/tags/testFormTagsServices.php'; +require_once dirname(__FILE__).'/tags/testFormTagsServicesProblemTags.php'; +require_once dirname(__FILE__).'/tags/testFormTagsItem.php'; +require_once dirname(__FILE__).'/tags/testFormTagsItemPrototype.php'; +require_once dirname(__FILE__).'/tags/testFormTagsTemplate.php'; +require_once dirname(__FILE__).'/tags/testFormTagsTrigger.php'; +require_once dirname(__FILE__).'/tags/testFormTagsTriggerPrototype.php'; +require_once dirname(__FILE__).'/tags/testFormTagsWeb.php'; + +// Templates. +require_once dirname(__FILE__).'/templates/testFormTemplate.php'; +require_once dirname(__FILE__).'/templates/testPageTemplates.php'; + +// Users. +require_once dirname(__FILE__).'/users/testFormUser.php'; +require_once dirname(__FILE__).'/users/testFormUserMedia.php'; +require_once dirname(__FILE__).'/users/testFormUserPermissions.php'; +require_once dirname(__FILE__).'/users/testFormUserProfile.php'; +require_once dirname(__FILE__).'/users/testPageUsers.php'; + require_once dirname(__FILE__).'/testExecuteNow.php'; require_once dirname(__FILE__).'/testGraphAxis.php'; -require_once dirname(__FILE__).'/testPageDashboardWidgets.php'; -require_once dirname(__FILE__).'/testPageLatestData.php'; require_once dirname(__FILE__).'/testPageWeb.php'; -require_once dirname(__FILE__).'/problems/testFormUpdateProblem.php'; -require_once dirname(__FILE__).'/problems/testPageProblems.php'; -require_once dirname(__FILE__).'/testPageActions.php'; + require_once dirname(__FILE__).'/testFormAdministrationGeneralAutoregistration.php'; require_once dirname(__FILE__).'/testPageAdministrationGeneralIconMapping.php'; require_once dirname(__FILE__).'/testPageAdministrationGeneralImages.php'; @@ -36,20 +181,11 @@ require_once dirname(__FILE__).'/testPageAdministrationGeneralModules.php'; require_once dirname(__FILE__).'/testPageAdministrationGeneralRegexp.php'; require_once dirname(__FILE__).'/testPageAdministrationMediaTypes.php'; require_once dirname(__FILE__).'/testPageAdministrationScripts.php'; -require_once dirname(__FILE__).'/apiTokens/testPageApiTokensAdministrationGeneral.php'; -require_once dirname(__FILE__).'/apiTokens/testPageApiTokensUserSettings.php'; -require_once dirname(__FILE__).'/testPageAvailabilityReport.php'; -require_once dirname(__FILE__).'/testPageDashboardList.php'; require_once dirname(__FILE__).'/testPageEventCorrelation.php'; require_once dirname(__FILE__).'/testPageGraphPrototypes.php'; require_once dirname(__FILE__).'/testPageHistory.php'; require_once dirname(__FILE__).'/testPageHostGraph.php'; -require_once dirname(__FILE__).'/testPageHostInterfaces.php'; -require_once dirname(__FILE__).'/testPageHostPrototypes.php'; -require_once dirname(__FILE__).'/testPageHosts.php'; require_once dirname(__FILE__).'/testPageInventory.php'; -require_once dirname(__FILE__).'/items/testPageItems.php'; -require_once dirname(__FILE__).'/items/testPageItemPrototypes.php'; require_once dirname(__FILE__).'/testPageTriggers.php'; require_once dirname(__FILE__).'/testPageTriggerUrl.php'; require_once dirname(__FILE__).'/testPageTriggerPrototypes.php'; @@ -57,9 +193,7 @@ require_once dirname(__FILE__).'/testPageMaintenance.php'; require_once dirname(__FILE__).'/testPageMaps.php'; require_once dirname(__FILE__).'/testPageMassUpdateItems.php'; require_once dirname(__FILE__).'/testPageMassUpdateItemPrototypes.php'; -require_once dirname(__FILE__).'/testPageMonitoringHosts.php'; require_once dirname(__FILE__).'/testPageNetworkDiscovery.php'; -require_once dirname(__FILE__).'/lld/testPageLowLevelDiscovery.php'; require_once dirname(__FILE__).'/testPasswordComplexity.php'; /* require_once dirname(__FILE__).'/testPageQueueDetails.php'; @@ -68,17 +202,12 @@ require_once dirname(__FILE__).'/testPageQueueOverviewByProxy.php'; */ require_once dirname(__FILE__).'/testPageSearch.php'; require_once dirname(__FILE__).'/testPageStatusOfZabbix.php'; -require_once dirname(__FILE__).'/testPageTemplates.php'; require_once dirname(__FILE__).'/testPageTriggerDescription.php'; require_once dirname(__FILE__).'/testPageUserGroups.php'; -require_once dirname(__FILE__).'/users/testPageUsers.php'; require_once dirname(__FILE__).'/testExpandExpressionMacros.php'; -require_once dirname(__FILE__).'/testFormAction.php'; require_once dirname(__FILE__).'/testFormAdministrationAuthenticationHttp.php'; require_once dirname(__FILE__).'/testFormAdministrationAuthenticationLdap.php'; require_once dirname(__FILE__).'/testFormAdministrationAuthenticationSaml.php'; -require_once dirname(__FILE__).'/proxies/testFormAdministrationProxies.php'; -require_once dirname(__FILE__).'/proxies/testPageAdministrationProxies.php'; require_once dirname(__FILE__).'/testFormAdministrationGeneralAuditLog.php'; require_once dirname(__FILE__).'/testFormAdministrationGeneralGUI.php'; require_once dirname(__FILE__).'/testFormAdministrationGeneralIconMapping.php'; @@ -92,85 +221,30 @@ require_once dirname(__FILE__).'/testFormAdministrationMediaTypeMessageTemplates require_once dirname(__FILE__).'/testFormAdministrationMediaTypeWebhook.php'; require_once dirname(__FILE__).'/testFormAdministrationScripts.php'; require_once dirname(__FILE__).'/testFormAdministrationUserGroups.php'; -require_once dirname(__FILE__).'/apiTokens/testFormApiTokensAdministrationGeneral.php'; -require_once dirname(__FILE__).'/apiTokens/testFormApiTokensUserSettings.php'; require_once dirname(__FILE__).'/testFormEventCorrelation.php'; require_once dirname(__FILE__).'/filterTabs/testFormFilterHosts.php'; require_once dirname(__FILE__).'/filterTabs/testFormFilterLatestData.php'; require_once dirname(__FILE__).'/filterTabs/testFormFilterProblems.php'; require_once dirname(__FILE__).'/testFormGraph.php'; require_once dirname(__FILE__).'/testFormGraphPrototype.php'; -require_once dirname(__FILE__).'/hosts/testFormHostConfiguration.php'; -require_once dirname(__FILE__).'/hosts/testFormHostMonitoring.php'; -require_once dirname(__FILE__).'/hosts/testFormHostStandalone.php'; require_once dirname(__FILE__).'/testFormHostGroup.php'; -require_once dirname(__FILE__).'/testFormHostLinkTemplates.php'; -require_once dirname(__FILE__).'/testFormHostPrototype.php'; -require_once dirname(__FILE__).'/items/testFormItem.php'; -require_once dirname(__FILE__).'/items/testFormItemHttpAgent.php'; -require_once dirname(__FILE__).'/items/testFormItemPrototype.php'; -require_once dirname(__FILE__).'/items/testFormTestItem.php'; -require_once dirname(__FILE__).'/items/testFormTestItemPrototype.php'; -require_once dirname(__FILE__).'/lld/testFormTestLowLevelDiscovery.php'; require_once dirname(__FILE__).'/testFormLogin.php'; -require_once dirname(__FILE__).'/lld/testFormLowLevelDiscovery.php'; -require_once dirname(__FILE__).'/lld/testFormLowLevelDiscoveryOverrides.php'; -require_once dirname(__FILE__).'/macros/testFormMacrosAdministrationGeneral.php'; -require_once dirname(__FILE__).'/macros/testFormMacrosDiscoveredHost.php'; -require_once dirname(__FILE__).'/macros/testFormMacrosHost.php'; -require_once dirname(__FILE__).'/macros/testFormMacrosHostPrototype.php'; -require_once dirname(__FILE__).'/macros/testFormMacrosTemplate.php'; require_once dirname(__FILE__).'/testFormMaintenance.php'; require_once dirname(__FILE__).'/testFormMap.php'; require_once dirname(__FILE__).'/testFormNetworkDiscovery.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingCloneHost.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingCloneTemplate.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingItem.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingItemPrototype.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingLowLevelDiscovery.php'; -require_once dirname(__FILE__).'/preprocessing/testFormPreprocessingTest.php'; -require_once dirname(__FILE__).'/services/testFormServicesServices.php'; -require_once dirname(__FILE__).'/services/testPageServicesServices.php'; -require_once dirname(__FILE__).'/services/testPageServicesServicesMassUpdate.php'; -require_once dirname(__FILE__).'/sla/testFormServicesSla.php'; -require_once dirname(__FILE__).'/sla/testPageServicesSla.php'; -require_once dirname(__FILE__).'/sla/testPageServicesSlaReport.php'; require_once dirname(__FILE__).'/testFormSetup.php'; require_once dirname(__FILE__).'/testFormSysmap.php'; require_once dirname(__FILE__).'/testFormTabIndicators.php'; -require_once dirname(__FILE__).'/tags/testFormTagsDiscoveredHost.php'; -require_once dirname(__FILE__).'/tags/testFormTagsHost.php'; -require_once dirname(__FILE__).'/tags/testFormTagsHostPrototype.php'; -require_once dirname(__FILE__).'/tags/testFormTagsServices.php'; -require_once dirname(__FILE__).'/tags/testFormTagsServicesProblemTags.php'; -require_once dirname(__FILE__).'/tags/testFormTagsItem.php'; -require_once dirname(__FILE__).'/tags/testFormTagsItemPrototype.php'; -require_once dirname(__FILE__).'/tags/testFormTagsTemplate.php'; -require_once dirname(__FILE__).'/tags/testFormTagsTrigger.php'; -require_once dirname(__FILE__).'/tags/testFormTagsTriggerPrototype.php'; -require_once dirname(__FILE__).'/tags/testFormTagsWeb.php'; require_once dirname(__FILE__).'/testFormTrigger.php'; -require_once dirname(__FILE__).'/testFormTemplate.php'; require_once dirname(__FILE__).'/testFormTriggerPrototype.php'; -require_once dirname(__FILE__).'/users/testFormUser.php'; -require_once dirname(__FILE__).'/users/testFormUserMedia.php'; -require_once dirname(__FILE__).'/users/testFormUserProfile.php'; -require_once dirname(__FILE__).'/users/testFormUserPermissions.php'; require_once dirname(__FILE__).'/testFormValueMappingsHost.php'; require_once dirname(__FILE__).'/testFormValueMappingsTemplate.php'; -require_once dirname(__FILE__).'/roles/testFormUserRoles.php'; require_once dirname(__FILE__).'/testFormWeb.php'; require_once dirname(__FILE__).'/testFormWebStep.php'; -require_once dirname(__FILE__).'/items/testFormulaCalculatedItem.php'; -require_once dirname(__FILE__).'/items/testFormulaCalculatedItemPrototype.php'; require_once dirname(__FILE__).'/testPageBrowserWarning.php'; -require_once dirname(__FILE__).'/items/testInheritanceItem.php'; require_once dirname(__FILE__).'/testInheritanceTrigger.php'; require_once dirname(__FILE__).'/testInheritanceGraph.php'; require_once dirname(__FILE__).'/testInheritanceWeb.php'; -require_once dirname(__FILE__).'/lld/testInheritanceDiscoveryRule.php'; -require_once dirname(__FILE__).'/items/testInheritanceItemPrototype.php'; -require_once dirname(__FILE__).'/items/testItemTypeSelection.php'; require_once dirname(__FILE__).'/testInheritanceTriggerPrototype.php'; require_once dirname(__FILE__).'/testInheritanceGraphPrototype.php'; require_once dirname(__FILE__).'/testInheritanceHostPrototype.php'; @@ -186,37 +260,6 @@ require_once dirname(__FILE__).'/testUrlParameters.php'; require_once dirname(__FILE__).'/testUrlUserPermissions.php'; require_once dirname(__FILE__).'/testZBX6648.php'; require_once dirname(__FILE__).'/testZBX6663.php'; -require_once dirname(__FILE__).'/roles/testPageUserRoles.php'; -require_once dirname(__FILE__).'/roles/testUserRolesPermissions.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardCopyWidgets.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardGraphPrototypeWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardGeomapWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardDynamicItemWidgets.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardFavoriteGraphsWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardFavoriteMapsWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardForm.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardViewMode.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardGraphWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardHostAvailabilityWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardProblemsBySeverityWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardItemValueWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardSlaReportWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardSystemInformationWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardTopHostsWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardTriggerOverviewWidget.php'; -require_once dirname(__FILE__).'/dashboard/testDashboardPages.php'; -require_once dirname(__FILE__).'/dashboard/testFormTemplateDashboards.php'; -require_once dirname(__FILE__).'/dashboard/testPageTemplateDashboards.php'; -require_once dirname(__FILE__).'/geomaps/testFormAdministrationGeneralGeomaps.php'; -require_once dirname(__FILE__).'/geomaps/testGeomapWidgetScreenshots.php'; -require_once dirname(__FILE__).'/reports/testPageReportsActionLog.php'; -require_once dirname(__FILE__).'/reports/testPageReportsAudit.php'; -require_once dirname(__FILE__).'/reports/testPageReportsNotifications.php'; -require_once dirname(__FILE__).'/reports/testPageReportsSystemInformation.php'; -require_once dirname(__FILE__).'/reports/testPageReportsTriggerTop.php'; -require_once dirname(__FILE__).'/reports/testFormScheduledReport.php'; -require_once dirname(__FILE__).'/reports/testPageScheduledReport.php'; -require_once dirname(__FILE__).'/reports/testScheduledReportPermissions.php'; require_once dirname(__FILE__).'/testSID.php'; use PHPUnit\Framework\TestSuite; @@ -227,9 +270,158 @@ class SeleniumTests { $suite->addTestSuite('testDocumentationLinks'); $suite->addTestSuite('testGeneric'); + + // Actions. + $suite->addTestSuite('testFormAction'); + $suite->addTestSuite('testPageActions'); + + // Api tokens. + $suite->addTestSuite('testFormApiTokensAdministrationGeneral'); + $suite->addTestSuite('testFormApiTokensUserSettings'); + $suite->addTestSuite('testPageApiTokensAdministrationGeneral'); + $suite->addTestSuite('testPageApiTokensUserSettings'); + + // Dashboards. + $suite->addTestSuite('testDashboardCopyWidgets'); + $suite->addTestSuite('testDashboardDynamicItemWidgets'); + $suite->addTestSuite('testDashboardFavoriteGraphsWidget'); + $suite->addTestSuite('testDashboardFavoriteMapsWidget'); + $suite->addTestSuite('testDashboardForm'); + $suite->addTestSuite('testDashboardGeomapWidget'); + $suite->addTestSuite('testDashboardGraphPrototypeWidget'); + $suite->addTestSuite('testDashboardGraphWidget'); + $suite->addTestSuite('testDashboardHostAvailabilityWidget'); + $suite->addTestSuite('testDashboardItemValueWidget'); + $suite->addTestSuite('testDashboardPages'); + $suite->addTestSuite('testDashboardProblemsBySeverityWidget'); + $suite->addTestSuite('testDashboardSlaReportWidget'); + $suite->addTestSuite('testDashboardSystemInformationWidget'); + $suite->addTestSuite('testDashboardTopHostsWidget'); + $suite->addTestSuite('testDashboardTriggerOverviewWidget'); + $suite->addTestSuite('testDashboardViewMode'); + $suite->addTestSuite('testFormTemplateDashboards'); + $suite->addTestSuite('testPageDashboardList'); + $suite->addTestSuite('testPageDashboardWidgets'); + $suite->addTestSuite('testPageTemplateDashboards'); + + // Filter tabs. + $suite->addTestSuite('testFormFilterHosts'); + $suite->addTestSuite('testFormFilterLatestData'); + $suite->addTestSuite('testFormFilterProblems'); + + // Geomaps. + $suite->addTestSuite('testFormAdministrationGeneralGeomaps'); + $suite->addTestSuite('testGeomapWidgetScreenshots'); + + // Hosts. + $suite->addTestSuite('testFormHostFromConfiguration'); + $suite->addTestSuite('testFormHostFromMonitoring'); + $suite->addTestSuite('testFormHostFromStandalone'); + $suite->addTestSuite('testFormHostLinkTemplates'); + $suite->addTestSuite('testFormHostPrototype'); + $suite->addTestSuite('testPageHostInterfaces'); + $suite->addTestSuite('testPageHostPrototypes'); + $suite->addTestSuite('testPageHosts'); + $suite->addTestSuite('testPageMonitoringHosts'); + + // Items. + $suite->addTestSuite('testFormItem'); + $suite->addTestSuite('testFormItemHttpAgent'); + $suite->addTestSuite('testFormItemPrototype'); + $suite->addTestSuite('testFormTestItem'); + $suite->addTestSuite('testFormTestItemPrototype'); + $suite->addTestSuite('testFormulaCalculatedItem'); + $suite->addTestSuite('testFormulaCalculatedItemPrototype'); + $suite->addTestSuite('testInheritanceItem'); + $suite->addTestSuite('testInheritanceItemPrototype'); + $suite->addTestSuite('testItemTypeSelection'); + $suite->addTestSuite('testPageItemPrototypes'); + $suite->addTestSuite('testPageItems'); + + // LLD. + $suite->addTestSuite('testFormLowLevelDiscovery'); + $suite->addTestSuite('testFormLowLevelDiscoveryOverrides'); + $suite->addTestSuite('testFormTestLowLevelDiscovery'); + $suite->addTestSuite('testInheritanceDiscoveryRule'); + $suite->addTestSuite('testPageLowLevelDiscovery'); + + // Macros. + $suite->addTestSuite('testFormMacrosAdministrationGeneral'); + $suite->addTestSuite('testFormMacrosHost'); + $suite->addTestSuite('testFormMacrosHostPrototype'); + $suite->addTestSuite('testFormMacrosTemplate'); + + // Monitoring. + $suite->addTestSuite('testPageMonitoringLatestData'); + + // Preprocessing. + $suite->addTestSuite('testFormPreprocessingCloneHost'); + $suite->addTestSuite('testFormPreprocessingCloneTemplate'); + $suite->addTestSuite('testFormPreprocessingItem'); + $suite->addTestSuite('testFormPreprocessingItemPrototype'); + $suite->addTestSuite('testFormPreprocessingLowLevelDiscovery'); + $suite->addTestSuite('testFormPreprocessingTest'); + + // Problems. + $suite->addTestSuite('testPageProblems'); + $suite->addTestSuite('testFormUpdateProblem'); + + // Proxies. + $suite->addTestSuite('testFormAdministrationProxies'); + $suite->addTestSuite('testPageAdministrationProxies'); + + // Reports. + $suite->addTestSuite('testFormScheduledReport'); + $suite->addTestSuite('testPageAvailabilityReport'); + $suite->addTestSuite('testPageReportsActionLog'); + $suite->addTestSuite('testPageReportsAudit'); + $suite->addTestSuite('testPageReportsNotifications'); + $suite->addTestSuite('testPageReportsSystemInformation'); + $suite->addTestSuite('testPageReportsTriggerTop'); + $suite->addTestSuite('testPageScheduledReport'); + $suite->addTestSuite('testScheduledReportPermissions'); + + // Roles. + $suite->addTestSuite('testFormUserRoles'); + $suite->addTestSuite('testPageUserRoles'); + $suite->addTestSuite('testUserRolesPermissions'); + + // Services. + $suite->addTestSuite('testFormServicesServices'); + $suite->addTestSuite('testPageServicesServices'); + $suite->addTestSuite('testPageServicesServicesMassUpdate'); + + // SLA. + $suite->addTestSuite('testFormServicesSla'); + $suite->addTestSuite('testPageServicesSla'); + $suite->addTestSuite('testPageServicesSlaReport'); + + // Tags. + $suite->addTestSuite('testFormTagsHost'); + $suite->addTestSuite('testFormTagsHostPrototype'); + $suite->addTestSuite('testFormTagsServices'); + $suite->addTestSuite('testFormTagsServicesProblemTags'); + $suite->addTestSuite('testFormTagsItem'); + $suite->addTestSuite('testFormTagsItemPrototype'); + $suite->addTestSuite('testFormTagsTemplate'); + $suite->addTestSuite('testFormTagsTrigger'); + $suite->addTestSuite('testFormTagsTriggerPrototype'); + $suite->addTestSuite('testFormTagsWeb'); + + // Templates. + $suite->addTestSuite('testFormTemplate'); + $suite->addTestSuite('testPageTemplates'); + + // Users. + $suite->addTestSuite('testFormUser'); + $suite->addTestSuite('testFormUserMedia'); + $suite->addTestSuite('testFormUserPermissions'); + $suite->addTestSuite('testFormUserProfile'); + $suite->addTestSuite('testPageUsers'); + $suite->addTestSuite('testExecuteNow'); $suite->addTestSuite('testGraphAxis'); - $suite->addTestSuite('testPageActions'); + $suite->addTestSuite('testFormAdministrationGeneralAutoregistration'); $suite->addTestSuite('testPageAdministrationGeneralIconMapping'); $suite->addTestSuite('testPageAdministrationGeneralImages'); @@ -237,63 +429,34 @@ class SeleniumTests { $suite->addTestSuite('testPageAdministrationGeneralRegexp'); $suite->addTestSuite('testPageAdministrationMediaTypes'); $suite->addTestSuite('testPageAdministrationScripts'); - $suite->addTestSuite('testPageApiTokensAdministrationGeneral'); - $suite->addTestSuite('testPageApiTokensUserSettings'); - $suite->addTestSuite('testPageAvailabilityReport'); - $suite->addTestSuite('testPageDashboardList'); - $suite->addTestSuite('testPageDashboardWidgets'); $suite->addTestSuite('testPageEventCorrelation'); $suite->addTestSuite('testPageGraphPrototypes'); - $suite->addTestSuite('testPageProblems'); - $suite->addTestSuite('testFormUpdateProblem'); $suite->addTestSuite('testPageHistory'); $suite->addTestSuite('testPageHostGraph'); - $suite->addTestSuite('testPageHostInterfaces'); - $suite->addTestSuite('testPageHostPrototypes'); - $suite->addTestSuite('testPageHosts'); $suite->addTestSuite('testPageInventory'); - $suite->addTestSuite('testPageItems'); - $suite->addTestSuite('testPageItemPrototypes'); $suite->addTestSuite('testPageTriggers'); $suite->addTestSuite('testPageTriggerDescription'); $suite->addTestSuite('testPageTriggerUrl'); $suite->addTestSuite('testPageTriggerPrototypes'); - $suite->addTestSuite('testPageLatestData'); - $suite->addTestSuite('testPageLowLevelDiscovery'); $suite->addTestSuite('testPageMaintenance'); $suite->addTestSuite('testPageMaps'); $suite->addTestSuite('testPageMassUpdateItems'); $suite->addTestSuite('testPageMassUpdateItemPrototypes'); - $suite->addTestSuite('testPageMonitoringHosts'); $suite->addTestSuite('testPageNetworkDiscovery'); /* $suite->addTestSuite('testPageQueueDetails'); $suite->addTestSuite('testPageQueueOverview'); $suite->addTestSuite('testPageQueueOverviewByProxy'); */ - $suite->addTestSuite('testPageReportsActionLog'); - $suite->addTestSuite('testPageReportsAudit'); - $suite->addTestSuite('testPageReportsNotifications'); - $suite->addTestSuite('testPageReportsSystemInformation'); - $suite->addTestSuite('testPageReportsTriggerTop'); $suite->addTestSuite('testPageSearch'); - $suite->addTestSuite('testPageServicesServices'); - $suite->addTestSuite('testPageServicesServicesMassUpdate'); - $suite->addTestSuite('testPageServicesSla'); - $suite->addTestSuite('testPageServicesSlaReport'); $suite->addTestSuite('testPageStatusOfZabbix'); - $suite->addTestSuite('testPageTemplates'); $suite->addTestSuite('testPageUserGroups'); - $suite->addTestSuite('testPageUsers'); $suite->addTestSuite('testPageWeb'); $suite->addTestSuite('testPasswordComplexity'); $suite->addTestSuite('testExpandExpressionMacros'); - $suite->addTestSuite('testFormAction'); $suite->addTestSuite('testFormAdministrationAuthenticationSaml'); $suite->addTestSuite('testFormAdministrationAuthenticationHttp'); $suite->addTestSuite('testFormAdministrationAuthenticationLdap'); - $suite->addTestSuite('testFormAdministrationProxies'); - $suite->addTestSuite('testPageAdministrationProxies'); $suite->addTestSuite('testFormAdministrationGeneralAuditLog'); $suite->addTestSuite('testFormAdministrationGeneralGUI'); $suite->addTestSuite('testFormAdministrationGeneralIconMapping'); @@ -307,85 +470,29 @@ class SeleniumTests { $suite->addTestSuite('testFormAdministrationMediaTypeWebhook'); $suite->addTestSuite('testFormAdministrationScripts'); $suite->addTestSuite('testFormAdministrationUserGroups'); - $suite->addTestSuite('testFormApiTokensAdministrationGeneral'); - $suite->addTestSuite('testFormApiTokensUserSettings'); $suite->addTestSuite('testFormEventCorrelation'); - $suite->addTestSuite('testFormFilterHosts'); - $suite->addTestSuite('testFormFilterLatestData'); - $suite->addTestSuite('testFormFilterProblems'); - $suite->addTestSuite('testFormAdministrationGeneralGeomaps'); - $suite->addTestSuite('testGeomapWidgetScreenshots'); $suite->addTestSuite('testFormGraph'); $suite->addTestSuite('testFormGraphPrototype'); - $suite->addTestSuite('testFormHostConfiguration'); - $suite->addTestSuite('testFormHostMonitoring'); - $suite->addTestSuite('testFormHostStandalone'); $suite->addTestSuite('testFormHostGroup'); - $suite->addTestSuite('testFormHostLinkTemplates'); - $suite->addTestSuite('testFormHostPrototype'); - $suite->addTestSuite('testFormItem'); - $suite->addTestSuite('testFormItemHttpAgent'); - $suite->addTestSuite('testFormItemPrototype'); - $suite->addTestSuite('testFormTestItem'); - $suite->addTestSuite('testFormTestItemPrototype'); - $suite->addTestSuite('testFormTestLowLevelDiscovery'); $suite->addTestSuite('testFormLogin'); - $suite->addTestSuite('testFormLowLevelDiscovery'); - $suite->addTestSuite('testFormLowLevelDiscoveryOverrides'); - $suite->addTestSuite('testFormMacrosAdministrationGeneral'); - $suite->addTestSuite('testFormMacrosDiscoveredHost'); - $suite->addTestSuite('testFormMacrosHost'); - $suite->addTestSuite('testFormMacrosHostPrototype'); - $suite->addTestSuite('testFormMacrosTemplate'); $suite->addTestSuite('testFormMaintenance'); $suite->addTestSuite('testFormMap'); $suite->addTestSuite('testFormNetworkDiscovery'); - $suite->addTestSuite('testFormPreprocessingCloneHost'); - $suite->addTestSuite('testFormPreprocessingCloneTemplate'); - $suite->addTestSuite('testFormPreprocessingItem'); - $suite->addTestSuite('testFormPreprocessingItemPrototype'); - $suite->addTestSuite('testFormPreprocessingLowLevelDiscovery'); - $suite->addTestSuite('testFormPreprocessingTest'); - $suite->addTestSuite('testFormServicesServices'); - $suite->addTestSuite('testFormServicesSla'); $suite->addTestSuite('testFormSetup'); $suite->addTestSuite('testFormSysmap'); $suite->addTestSuite('testFormTabIndicators'); - $suite->addTestSuite('testFormTagsDiscoveredHost'); - $suite->addTestSuite('testFormTagsHost'); - $suite->addTestSuite('testFormTagsHostPrototype'); - $suite->addTestSuite('testFormTagsServices'); - $suite->addTestSuite('testFormTagsServicesProblemTags'); - $suite->addTestSuite('testFormTagsItem'); - $suite->addTestSuite('testFormTagsItemPrototype'); - $suite->addTestSuite('testFormTagsTemplate'); - $suite->addTestSuite('testFormTagsTrigger'); - $suite->addTestSuite('testFormTagsTriggerPrototype'); - $suite->addTestSuite('testFormTagsWeb'); - $suite->addTestSuite('testFormTemplate'); $suite->addTestSuite('testFormTrigger'); $suite->addTestSuite('testFormTriggerPrototype'); - $suite->addTestSuite('testFormUser'); - $suite->addTestSuite('testFormUserMedia'); - $suite->addTestSuite('testFormUserProfile'); - $suite->addTestSuite('testFormUserPermissions'); $suite->addTestSuite('testFormValueMappingsHost'); $suite->addTestSuite('testFormValueMappingsTemplate'); - $suite->addTestSuite('testFormUserRoles'); $suite->addTestSuite('testFormWeb'); $suite->addTestSuite('testFormWebStep'); - $suite->addTestSuite('testFormulaCalculatedItem'); - $suite->addTestSuite('testFormulaCalculatedItemPrototype'); $suite->addTestSuite('testPageBrowserWarning'); - $suite->addTestSuite('testInheritanceItem'); $suite->addTestSuite('testInheritanceTrigger'); $suite->addTestSuite('testInheritanceGraph'); $suite->addTestSuite('testInheritanceGraphPrototype'); $suite->addTestSuite('testInheritanceWeb'); - $suite->addTestSuite('testInheritanceDiscoveryRule'); $suite->addTestSuite('testInheritanceHostPrototype'); - $suite->addTestSuite('testInheritanceItemPrototype'); - $suite->addTestSuite('testItemTypeSelection'); $suite->addTestSuite('testInheritanceTriggerPrototype'); $suite->addTestSuite('testLanguage'); $suite->addTestSuite('testMultiselect'); @@ -399,30 +506,6 @@ class SeleniumTests { $suite->addTestSuite('testUrlUserPermissions'); $suite->addTestSuite('testZBX6648'); $suite->addTestSuite('testZBX6663'); - $suite->addTestSuite('testPageUserRoles'); - $suite->addTestSuite('testUserRolesPermissions'); - $suite->addTestSuite('testDashboardCopyWidgets'); - $suite->addTestSuite('testDashboardGraphPrototypeWidget'); - $suite->addTestSuite('testDashboardGeomapWidget'); - $suite->addTestSuite('testDashboardDynamicItemWidgets'); - $suite->addTestSuite('testDashboardFavoriteGraphsWidget'); - $suite->addTestSuite('testDashboardFavoriteMapsWidget'); - $suite->addTestSuite('testDashboardForm'); - $suite->addTestSuite('testDashboardGraphWidget'); - $suite->addTestSuite('testDashboardHostAvailabilityWidget'); - $suite->addTestSuite('testDashboardProblemsBySeverityWidget'); - $suite->addTestSuite('testDashboardItemValueWidget'); - $suite->addTestSuite('testDashboardSlaReportWidget'); - $suite->addTestSuite('testDashboardSystemInformationWidget'); - $suite->addTestSuite('testDashboardTopHostsWidget'); - $suite->addTestSuite('testDashboardTriggerOverviewWidget'); - $suite->addTestSuite('testDashboardPages'); - $suite->addTestSuite('testDashboardViewMode'); - $suite->addTestSuite('testFormTemplateDashboards'); - $suite->addTestSuite('testPageTemplateDashboards'); - $suite->addTestSuite('testFormScheduledReport'); - $suite->addTestSuite('testPageScheduledReport'); - $suite->addTestSuite('testScheduledReportPermissions'); $suite->addTestSuite('testSID'); return $suite; diff --git a/ui/tests/selenium/testFormAction.php b/ui/tests/selenium/actions/testFormAction.php index cd64730c8e1..cd962117b58 100644 --- a/ui/tests/selenium/testFormAction.php +++ b/ui/tests/selenium/actions/testFormAction.php @@ -19,9 +19,9 @@ **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; -require_once dirname(__FILE__).'/../include/helpers/CDataHelper.php'; -require_once dirname(__FILE__).'/behaviors/CMessageBehavior.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; +require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; define('ACTION_GOOD', 0); define('ACTION_BAD', 1); diff --git a/ui/tests/selenium/testPageActions.php b/ui/tests/selenium/actions/testPageActions.php index b12e0550af3..8890040cd98 100644 --- a/ui/tests/selenium/testPageActions.php +++ b/ui/tests/selenium/actions/testPageActions.php @@ -18,7 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; class testPageActions extends CLegacyWebTest { diff --git a/ui/tests/selenium/common/testFormHost.php b/ui/tests/selenium/common/testFormHost.php index 24d62576780..fd16255599e 100644 --- a/ui/tests/selenium/common/testFormHost.php +++ b/ui/tests/selenium/common/testFormHost.php @@ -2020,7 +2020,7 @@ class testFormHost extends CWebTest { ['name' => 'Host name', 'value' => self::DISCOVERED_HOST, 'maxlength' => 128, 'enabled' => false], ['name' => 'Visible name', 'value' => '', 'maxlength' => 128, 'enabled' => false], ['name' => 'id:add_templates_', 'value' => '', 'enabled' => true], - ['name' => 'Host groups', 'value' => ['Zabbix servers'], 'enabled' => false], + ['name' => 'Host groups', 'value' => ['Group for discovered host test'], 'enabled' => false], ['name' => 'id:interfaces_'.$discovered_interface_id.'_ip', 'value' => '127.0.0.1', 'maxlength' => 64, 'enabled' => false], ['name' => 'id:interfaces_'.$discovered_interface_id.'_dns', 'value' => '', diff --git a/ui/tests/selenium/dashboard/testDashboardPages.php b/ui/tests/selenium/dashboard/testDashboardPages.php index cc0165bec87..4ccbca0c1cb 100644 --- a/ui/tests/selenium/dashboard/testDashboardPages.php +++ b/ui/tests/selenium/dashboard/testDashboardPages.php @@ -456,6 +456,7 @@ class testDashboardPages extends CWebTest { $dashboard->addPage(); $page_dialog = COverlayDialogElement::find()->waitUntilReady()->one(); $page_dialog->query('name:dashboard_page_properties_form')->asForm()->one()->fill($data['fields'])->submit(); + $page_dialog->ensureNotPresent(); $dashboard->waitUntilReady(); $title = $data['fields']['Name']; diff --git a/ui/tests/selenium/dashboard/testDashboardTopHostsWidget.php b/ui/tests/selenium/dashboard/testDashboardTopHostsWidget.php index 6ec8aee7f49..64f26453c8c 100644 --- a/ui/tests/selenium/dashboard/testDashboardTopHostsWidget.php +++ b/ui/tests/selenium/dashboard/testDashboardTopHostsWidget.php @@ -25,7 +25,9 @@ require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; /** * @dataSource TopHostsWidget * - * @backup widget, profiles, dashboard, items + * @backup widget, profiles + * + * @onAfter clearData */ class testDashboardTopHostsWidget extends CWebTest { @@ -1789,7 +1791,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text' + 'Item' => 'top_hosts_trap_text' ] ], 'text' => 'Text for text item' @@ -1804,7 +1806,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text', + 'Item' => 'top_hosts_trap_text', 'History data' => 'Trends' ] ], @@ -1820,7 +1822,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text', + 'Item' => 'top_hosts_trap_text', 'Display' => 'Bar' ] ] @@ -1835,7 +1837,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text', + 'Item' => 'top_hosts_trap_text', 'Display' => 'Indicators' ] ] @@ -1850,7 +1852,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text', + 'Item' => 'top_hosts_trap_text', 'Aggregation function' => 'max' ] ] @@ -1865,7 +1867,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_text', + 'Item' => 'top_hosts_trap_text', 'Thresholds' => [ [ 'threshold' => '10' @@ -1884,7 +1886,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log' + 'Item' => 'top_hosts_trap_log' ] ], 'text' => 'Logs for text item' @@ -1899,7 +1901,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log', + 'Item' => 'top_hosts_trap_log', 'History data' => 'Trends' ] ], @@ -1915,7 +1917,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log', + 'Item' => 'top_hosts_trap_log', 'Display' => 'Bar' ] ] @@ -1930,7 +1932,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log', + 'Item' => 'top_hosts_trap_log', 'Display' => 'Indicators' ] ] @@ -1945,7 +1947,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log', + 'Item' => 'top_hosts_trap_log', 'Aggregation function' => 'max' ] ] @@ -1960,7 +1962,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_log', + 'Item' => 'top_hosts_trap_log', 'Thresholds' => [ [ 'threshold' => '10' @@ -1979,7 +1981,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char' + 'Item' => 'top_hosts_trap_char' ] ], 'text' => 'characters_here' @@ -1994,7 +1996,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char', + 'Item' => 'top_hosts_trap_char', 'History data' => 'Trends' ] ], @@ -2010,7 +2012,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char', + 'Item' => 'top_hosts_trap_char', 'Display' => 'Bar' ] ] @@ -2025,7 +2027,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char', + 'Item' => 'top_hosts_trap_char', 'Display' => 'Indicators' ] ] @@ -2040,7 +2042,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char', + 'Item' => 'top_hosts_trap_char', 'Aggregation function' => 'max' ] ] @@ -2055,7 +2057,7 @@ class testDashboardTopHostsWidget extends CWebTest { 'column_fields' => [ [ 'Data' => 'Item value', - 'Item' => 'trap_char', + 'Item' => 'top_hosts_trap_char', 'Thresholds' => [ [ 'threshold' => '10' @@ -2104,4 +2106,15 @@ class testDashboardTopHostsWidget extends CWebTest { $dashboard->save(); $this->assertMessage(TEST_GOOD, 'Dashboard updated'); } + + /** + * Delete all created data after test. + */ + public static function clearData() { + $dashboardids = CDBHelper::getColumn("SELECT * from dashboard where name LIKE 'top_host_%'", 'dashboardid'); + CDataHelper::call('dashboard.delete', $dashboardids); + + $itemids = CDBHelper::getColumn("SELECT * FROM items WHERE name LIKE 'top_hosts_trap%'", 'itemid'); + CDataHelper::call('item.delete', $itemids); + } } diff --git a/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php b/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php index 6b424d030c1..658d2921f36 100644 --- a/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php +++ b/ui/tests/selenium/dashboard/testDashboardTriggerOverviewWidget.php @@ -415,21 +415,6 @@ class testDashboardTriggerOverviewWidget extends CWebTest { [ [ 'fields' => [ - 'Name' => 'Filter triggers by tag with default operator' - ], - 'tags' => [ - ['name' => 'server', 'operator' => 'Contains', 'value' => 'sel'] - ], - 'expected' => [ - 'Host for triggers filtering' => [ - 'Inheritance trigger with tags' - ] - ] - ] - ], - [ - [ - 'fields' => [ 'Name' => 'Filter triggers by 2 tags with Or operator', 'Tags' => 'Or' ], @@ -795,7 +780,6 @@ class testDashboardTriggerOverviewWidget extends CWebTest { $widget_name = (array_key_exists('fields', $data)) ? $data['fields']['Name'] : 'Trigger overview'; $widget = $dashboard->getWidget($widget_name); - $widget->query('xpath://div[contains(@class, "is-loading")]')->waitUntilNotPresent(); $dashboard->save(); $this->assertMessage(TEST_GOOD, 'Dashboard updated'); diff --git a/ui/tests/selenium/testPageDashboardList.php b/ui/tests/selenium/dashboard/testPageDashboardList.php index fae8bd0fd72..52b5f5bda5f 100644 --- a/ui/tests/selenium/testPageDashboardList.php +++ b/ui/tests/selenium/dashboard/testPageDashboardList.php @@ -18,9 +18,9 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CWebTest.php'; -require_once dirname(__FILE__).'/behaviors/CMessageBehavior.php'; -require_once dirname(__FILE__).'/traits/TableTrait.php'; +require_once dirname(__FILE__).'/../../include/CWebTest.php'; +require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** * @backup dashboard, dashboard_user, dashboard_usrgrp diff --git a/ui/tests/selenium/testPageDashboardWidgets.php b/ui/tests/selenium/dashboard/testPageDashboardWidgets.php index 6fc93f7b9d9..2862cc86117 100644 --- a/ui/tests/selenium/testPageDashboardWidgets.php +++ b/ui/tests/selenium/dashboard/testPageDashboardWidgets.php @@ -18,8 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ - -require_once dirname(__FILE__) . '/../include/CWebTest.php'; +require_once dirname(__FILE__) . '/../../include/CWebTest.php'; /** * @backup dashboard, profiles diff --git a/ui/tests/selenium/data/sources/DiscoveredHosts.php b/ui/tests/selenium/data/sources/DiscoveredHosts.php index a50e6fedb54..fe14fa83cd7 100644 --- a/ui/tests/selenium/data/sources/DiscoveredHosts.php +++ b/ui/tests/selenium/data/sources/DiscoveredHosts.php @@ -42,10 +42,18 @@ class DiscoveredHosts { * @return array */ public static function load() { + // Create hostgroup for discovered host test. + $hostgroups = CDataHelper::call('hostgroup.create', [ + [ + 'name' => 'Group for discovered host test' + ] + ]); + $hostgroupid = $hostgroups['groupids'][0]; + $hosts = CDataHelper::call('host.create', [ 'host' => 'Test of discovered host', 'groups' => [ - ['groupid' => 4] + ['groupid' => $hostgroupid] ], 'interfaces' => [ 'type'=> 1, @@ -76,7 +84,7 @@ class DiscoveredHosts { $host_prototypes = CDataHelper::call('hostprototype.create', [ 'host' => 'Host created from host prototype {#KEY}', 'ruleid' => $lldid, - 'groupLinks' => [['groupid' => 4]], + 'groupLinks' => [['groupid' => $hostgroupid]], 'tags' => [ 'tag' => 'prototype', 'value' => 'true' @@ -102,7 +110,7 @@ class DiscoveredHosts { zbx_dbstr(self::DISCOVERED_INTERFACEID).",".zbx_dbstr(self::DISCOVERED_HOSTID).", 1, 1, 1, '127.0.0.1', '', '10050')" ); DBexecute("INSERT INTO hosts_groups (hostgroupid, hostid, groupid) VALUES (".zbx_dbstr(self::DISCOVERED_HOST_GROUPID). - ", ".zbx_dbstr(self::DISCOVERED_HOSTID).", 4)" + ", ".zbx_dbstr(self::DISCOVERED_HOSTID).", ".$hostgroupid.")" ); DBexecute("INSERT INTO hosts_groups (hostgroupid, hostid, groupid) VALUES (".zbx_dbstr(self::DISCOVERED_HOST_GROUPID2). ", ".zbx_dbstr(self::DISCOVERED_HOSTID2).", 4)" diff --git a/ui/tests/selenium/data/sources/TopHostsWidget.php b/ui/tests/selenium/data/sources/TopHostsWidget.php index d45ab880b24..6d6fa221121 100644 --- a/ui/tests/selenium/data/sources/TopHostsWidget.php +++ b/ui/tests/selenium/data/sources/TopHostsWidget.php @@ -37,22 +37,22 @@ class TopHostsWidget { // Create items with value type - text, log, character. CDataHelper::call('item.create', [ [ - 'name' => 'trap_text', - 'key_' => 'trap_text', + 'name' => 'top_hosts_trap_text', + 'key_' => 'top_hosts_trap_text', 'hostid' => 10084, 'type' => 2, 'value_type' => 4 ], [ - 'name' => 'trap_log', - 'key_' => 'trap_log', + 'name' => 'top_hosts_trap_log', + 'key_' => 'top_hosts_trap_log', 'hostid' => 10084, 'type' => 2, 'value_type' => 2 ], [ - 'name' => 'trap_char', - 'key_' => 'trap_char', + 'name' => 'top_hosts_trap_char', + 'key_' => 'top_hosts_trap_char', 'hostid' => 10084, 'type' => 2, 'value_type' => 1 @@ -63,9 +63,9 @@ class TopHostsWidget { // Add value to item displayed in Top Hosts widget. CDataHelper::addItemData(99086, 1000); - CDataHelper::addItemData(self::$itemids['trap_text'], 'Text for text item'); - CDataHelper::addItemData(self::$itemids['trap_log'], 'Logs for text item'); - CDataHelper::addItemData(self::$itemids['trap_char'], 'characters_here'); + CDataHelper::addItemData(self::$itemids['top_hosts_trap_text'], 'Text for text item'); + CDataHelper::addItemData(self::$itemids['top_hosts_trap_log'], 'Logs for text item'); + CDataHelper::addItemData(self::$itemids['top_hosts_trap_char'], 'characters_here'); // Create dashboards for Top host widget testing. CDataHelper::call('dashboard.create', [ diff --git a/ui/tests/selenium/hosts/testFormHostConfiguration.php b/ui/tests/selenium/hosts/testFormHostFromConfiguration.php index 72e00701d96..db194fb4aa7 100644 --- a/ui/tests/selenium/hosts/testFormHostConfiguration.php +++ b/ui/tests/selenium/hosts/testFormHostFromConfiguration.php @@ -28,25 +28,25 @@ require_once dirname(__FILE__).'/../common/testFormHost.php'; * * @onBefore prepareUpdateData */ -class testFormHostConfiguration extends testFormHost { +class testFormHostFromConfiguration extends testFormHost { public $link = 'zabbix.php?action=host.list'; - public function testFormHostConfiguration_Layout() { + public function testFormHostFromConfiguration_Layout() { $this->checkHostLayout(); } /** * @dataProvider getCreateData */ - public function testFormHostConfiguration_Create($data) { + public function testFormHostFromConfiguration_Create($data) { $this->checkHostCreate($data); } /** * @dataProvider getValidationUpdateData */ - public function testFormHostConfiguration_ValidationUpdate($data) { + public function testFormHostFromConfiguration_ValidationUpdate($data) { $this->checkHostUpdate($data); } @@ -55,21 +55,21 @@ class testFormHostConfiguration extends testFormHost { * * @dataProvider getUpdateData */ - public function testFormHostConfiguration_Update($data) { + public function testFormHostFromConfiguration_Update($data) { $this->checkHostUpdate($data); } /** * Update the host without any changes and check host and interfaces hashes. */ - public function testFormHostConfiguration_SimpleUpdate() { + public function testFormHostFromConfiguration_SimpleUpdate() { $this->checkHostSimpleUpdate(); } /** * @dataProvider getCloneData */ - public function testFormHostConfiguration_Clone($data) { + public function testFormHostFromConfiguration_Clone($data) { $this->cloneHost($data); // Check that items aren't cloned from original host. @@ -79,7 +79,7 @@ class testFormHostConfiguration extends testFormHost { /** * @dataProvider getCloneData */ - public function testFormHostConfiguration_FullClone($data) { + public function testFormHostFromConfiguration_FullClone($data) { $this->cloneHost($data, 'Full clone'); // Check that items cloned from original host. @@ -89,18 +89,18 @@ class testFormHostConfiguration extends testFormHost { /** * @dataProvider getCancelData */ - public function testFormHostConfiguration_Cancel($data) { + public function testFormHostFromConfiguration_Cancel($data) { $this->checkCancel($data); } /** * @dataProvider getDeleteData */ - public function testFormHostConfiguration_Delete($data) { + public function testFormHostFromConfiguration_Delete($data) { $this->checkDelete($data); } - public function testFormHostConfiguration_DiscoveredHostLayout() { + public function testFormHostFromConfiguration_DiscoveredHostLayout() { $this->checkDiscoveredHostLayout(); } } diff --git a/ui/tests/selenium/hosts/testFormHostMonitoring.php b/ui/tests/selenium/hosts/testFormHostFromMonitoring.php index 793925ea1ca..30133c4024d 100644 --- a/ui/tests/selenium/hosts/testFormHostMonitoring.php +++ b/ui/tests/selenium/hosts/testFormHostFromMonitoring.php @@ -28,26 +28,26 @@ require_once dirname(__FILE__).'/../common/testFormHost.php'; * * @onBefore prepareUpdateData */ -class testFormHostMonitoring extends testFormHost { +class testFormHostFromMonitoring extends testFormHost { public $monitoring = true; public $link = 'zabbix.php?action=host.view'; - public function testFormHostMonitoring_Layout() { + public function testFormHostFromMonitoring_Layout() { $this->checkHostLayout(); } /** * @dataProvider getCreateData */ - public function testFormHostMonitoring_Create($data) { + public function testFormHostFromMonitoring_Create($data) { $this->checkHostCreate($data); } /** * @dataProvider getValidationUpdateData */ - public function testFormHostMonitoring_ValidationUpdate($data) { + public function testFormHostFromMonitoring_ValidationUpdate($data) { $this->checkHostUpdate($data); } @@ -56,21 +56,21 @@ class testFormHostMonitoring extends testFormHost { * * @dataProvider getUpdateData */ - public function testFormHostMonitoring_Update($data) { + public function testFormHostFromMonitoring_Update($data) { $this->checkHostUpdate($data); } /** * Update the host without any changes and check host and interfaces hashes. */ - public function testFormHostMonitoring_SimpleUpdate() { + public function testFormHostFromMonitoring_SimpleUpdate() { $this->checkHostSimpleUpdate(); } /** * @dataProvider getCloneData */ - public function testFormHostMonitoring_Clone($data) { + public function testFormHostFromMonitoring_Clone($data) { $this->cloneHost($data, 'Clone'); // Check that items aren't cloned from original host. @@ -80,7 +80,7 @@ class testFormHostMonitoring extends testFormHost { /** * @dataProvider getCloneData */ - public function testFormHostMonitoring_FullClone($data) { + public function testFormHostFromMonitoring_FullClone($data) { $this->cloneHost($data, 'Full clone'); // Check that items cloned from original host. @@ -90,18 +90,18 @@ class testFormHostMonitoring extends testFormHost { /** * @dataProvider getCancelData */ - public function testFormHostMonitoring_Cancel($data) { + public function testFormHostFromMonitoring_Cancel($data) { $this->checkCancel($data); } /** * @dataProvider getDeleteData */ - public function testFormHostMonitoring_Delete($data) { + public function testFormHostFromMonitoring_Delete($data) { $this->checkDelete($data); } - public function testFormHostMonitoring_DiscoveredHostLayout() { + public function testFormHostFromMonitoring_DiscoveredHostLayout() { $this->checkDiscoveredHostLayout(); } } diff --git a/ui/tests/selenium/hosts/testFormHostStandalone.php b/ui/tests/selenium/hosts/testFormHostFromStandalone.php index c63c499d74b..83b0f1728a2 100644 --- a/ui/tests/selenium/hosts/testFormHostStandalone.php +++ b/ui/tests/selenium/hosts/testFormHostFromStandalone.php @@ -28,19 +28,19 @@ require_once dirname(__FILE__).'/../common/testFormHost.php'; * * @onBefore prepareUpdateData */ -class testFormHostStandalone extends testFormHost { +class testFormHostFromStandalone extends testFormHost { public $standalone = true; public $link = 'zabbix.php?action=host.edit&hostid='; - public function testFormHostStandalone_Layout() { + public function testFormHostFromStandalone_Layout() { $this->checkHostLayout(); } /** * @dataProvider getCreateData */ - public function testFormHostStandalone_Create($data) { + public function testFormHostFromStandalone_Create($data) { $this->link = 'zabbix.php?action=host.edit'; $this->checkHostCreate($data); } @@ -48,7 +48,7 @@ class testFormHostStandalone extends testFormHost { /** * @dataProvider getValidationUpdateData */ - public function testFormHostStandalone_ValidationUpdate($data) { + public function testFormHostFromStandalone_ValidationUpdate($data) { $this->checkHostUpdate($data); } @@ -57,21 +57,21 @@ class testFormHostStandalone extends testFormHost { * * @dataProvider getUpdateData */ - public function testFormHostStandalone_Update($data) { + public function testFormHostFromStandalone_Update($data) { $this->checkHostUpdate($data); } /** * Update the host without any changes and check host and interfaces hashes. */ - public function testFormHostStandalone_SimpleUpdate() { + public function testFormHostFromStandalone_SimpleUpdate() { $this->checkHostSimpleUpdate(); } /** * @dataProvider getCloneData */ - public function testFormHostStandalone_Clone($data) { + public function testFormHostFromStandalone_Clone($data) { $this->cloneHost($data, 'Clone'); // Check that items aren't cloned from original host. @@ -81,7 +81,7 @@ class testFormHostStandalone extends testFormHost { /** * @dataProvider getCloneData */ - public function testFormHostStandalone_FullClone($data) { + public function testFormHostFromStandalone_FullClone($data) { $this->cloneHost($data, 'Full clone'); // Check that items cloned from original host. @@ -91,7 +91,7 @@ class testFormHostStandalone extends testFormHost { /** * @dataProvider getCancelData */ - public function testFormHostStandalone_Cancel($data) { + public function testFormHostFromStandalone_Cancel($data) { $this->link = 'zabbix.php?action=host.edit'; $this->checkCancel($data); } @@ -99,11 +99,11 @@ class testFormHostStandalone extends testFormHost { /** * @dataProvider getDeleteData */ - public function testFormHostStandalone_Delete($data) { + public function testFormHostFromStandalone_Delete($data) { $this->checkDelete($data); } - public function testFormHostStandalone_DiscoveredHostLayout() { + public function testFormHostFromStandalone_DiscoveredHostLayout() { $this->checkDiscoveredHostLayout(); } @@ -111,7 +111,7 @@ class testFormHostStandalone extends testFormHost { * Test for checking templated objects that are linked to a discovered host and for checking their unlinkage. * This test is implemented only for Standalone scenario. */ - public function testFormHostStandalone_DiscoveredHostLinkedTemplates() { + public function testFormHostFromStandalone_DiscoveredHostLinkedTemplates() { $filtered_results = [ [ 'type' => 'items', diff --git a/ui/tests/selenium/testFormHostLinkTemplates.php b/ui/tests/selenium/hosts/testFormHostLinkTemplates.php index 77477017ce9..3fd15d0a343 100644 --- a/ui/tests/selenium/testFormHostLinkTemplates.php +++ b/ui/tests/selenium/hosts/testFormHostLinkTemplates.php @@ -18,7 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; /** * @backup hosts diff --git a/ui/tests/selenium/testFormHostPrototype.php b/ui/tests/selenium/hosts/testFormHostPrototype.php index a7b1aff43fe..4fa12a290ab 100644 --- a/ui/tests/selenium/testFormHostPrototype.php +++ b/ui/tests/selenium/hosts/testFormHostPrototype.php @@ -18,9 +18,9 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; -require_once dirname(__FILE__).'/traits/MacrosTrait.php'; -require_once dirname(__FILE__).'/behaviors/CMessageBehavior.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../traits/MacrosTrait.php'; +require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; use Facebook\WebDriver\WebDriverBy; diff --git a/ui/tests/selenium/testPageHostInterfaces.php b/ui/tests/selenium/hosts/testPageHostInterfaces.php index dd1e25eec6b..8919b9570c3 100644 --- a/ui/tests/selenium/testPageHostInterfaces.php +++ b/ui/tests/selenium/hosts/testPageHostInterfaces.php @@ -18,8 +18,8 @@ ** 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__).'/../../include/CWebTest.php'; +require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; /** * @backup hosts diff --git a/ui/tests/selenium/testPageHostPrototypes.php b/ui/tests/selenium/hosts/testPageHostPrototypes.php index 62e0db5685a..10e0c5cfc0a 100644 --- a/ui/tests/selenium/testPageHostPrototypes.php +++ b/ui/tests/selenium/hosts/testPageHostPrototypes.php @@ -18,8 +18,8 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; -require_once dirname(__FILE__).'/traits/TableTrait.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** * @backup hosts diff --git a/ui/tests/selenium/testPageHosts.php b/ui/tests/selenium/hosts/testPageHosts.php index e1776cccfee..5aea0664dd6 100644 --- a/ui/tests/selenium/testPageHosts.php +++ b/ui/tests/selenium/hosts/testPageHosts.php @@ -18,10 +18,9 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ - -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; -require_once dirname(__FILE__).'/traits/TagTrait.php'; -require_once dirname(__FILE__).'/traits/TableTrait.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../traits/TagTrait.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** * @dataSource TagFilter, Proxies diff --git a/ui/tests/selenium/testPageMonitoringHosts.php b/ui/tests/selenium/hosts/testPageMonitoringHosts.php index 8f154111a42..2efb578265a 100644 --- a/ui/tests/selenium/testPageMonitoringHosts.php +++ b/ui/tests/selenium/hosts/testPageMonitoringHosts.php @@ -19,10 +19,10 @@ **/ -require_once dirname(__FILE__).'/../include/CWebTest.php'; -require_once dirname(__FILE__).'/traits/TableTrait.php'; -require_once dirname(__FILE__).'/traits/TagTrait.php'; -require_once dirname(__FILE__).'/../include/helpers/CDataHelper.php'; +require_once dirname(__FILE__).'/../../include/CWebTest.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; +require_once dirname(__FILE__).'/../traits/TagTrait.php'; +require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; /** * @backup profiles diff --git a/ui/tests/selenium/lld/testPageLowLevelDiscovery.php b/ui/tests/selenium/lld/testPageLowLevelDiscovery.php index 801277e8ae1..de22fc2ce52 100644 --- a/ui/tests/selenium/lld/testPageLowLevelDiscovery.php +++ b/ui/tests/selenium/lld/testPageLowLevelDiscovery.php @@ -24,7 +24,8 @@ require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; /** * @backup items - * @dataSource ExecuteNowAction + * + * @dataSource ExecuteNowAction, DiscoveredHosts */ class testPageLowLevelDiscovery extends CWebTest { @@ -422,8 +423,12 @@ class testPageLowLevelDiscovery extends CWebTest { 'I2-lvl1-trap-num: DR4-I2-dep-trap', 'Last error message of scenario "Web scenario for execute now".: DR5-web-dep', 'Zabbix server health: Zabbix stats cluster: High availability cluster node discovery', + 'LLD for Discovered host tests', 'Linux by Zabbix agent: Mounted filesystem discovery', 'Linux by Zabbix agent: Network interface discovery', + 'Test of discovered host 1 template for unlink: Template1 discovery rule', + 'Test of discovered host 2 template for clear: Template2 discovery rule', + 'Test of discovered host Template: Template discovery rule', 'Zabbix server health: Zabbix stats proxy: Zabbix proxy discovery' ] ] diff --git a/ui/tests/selenium/testPageLatestData.php b/ui/tests/selenium/monitoring/testPageMonitoringLatestData.php index f0f0db60635..53724698e92 100644 --- a/ui/tests/selenium/testPageLatestData.php +++ b/ui/tests/selenium/monitoring/testPageMonitoringLatestData.php @@ -18,16 +18,17 @@ ** 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__).'/traits/TableTrait.php'; + +require_once dirname(__FILE__).'/../../include/CWebTest.php'; +require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** * @backup history_uint, profiles * * @onBefore prepareItemTagsData */ -class testPageLatestData extends CWebTest { +class testPageMonitoringLatestData extends CWebTest { use TableTrait; @@ -108,7 +109,7 @@ class testPageLatestData extends CWebTest { ", ".zbx_dbstr($time).", 1, 0)"); } - public function testPageLatestData_CheckLayout() { + public function testPageMonitoringLatestData_CheckLayout() { $this->page->login()->open('zabbix.php?action=latest.view&filter_reset=1')->waitUntilReady(); $this->page->assertTitle('Latest data'); $this->page->assertHeader('Latest data'); @@ -460,7 +461,7 @@ class testPageLatestData extends CWebTest { * * @dataProvider getFilterData */ - public function testPageLatestData_Filter($data) { + public function testPageMonitoringLatestData_Filter($data) { $this->page->login()->open('zabbix.php?action=latest.view')->waitUntilReady(); $form = $this->query('name:zbx_filter')->waitUntilPresent()->asForm()->one(); $table = $this->query('xpath://table[contains(@class, "overflow-ellipsis")]')->asTable()->waitUntilPresent()->one(); @@ -558,7 +559,7 @@ class testPageLatestData extends CWebTest { * * @dataProvider getSubfilterData */ - public function testPageLatestData_Subfilter($data) { + public function testPageMonitoringLatestData_Subfilter($data) { $hostid = CDBHelper::getValue('SELECT hostid FROM hosts WHERE name='.zbx_dbstr(self::HOSTNAME)); $link = (CTestArrayHelper::get($data['subfilter'], 'Data')) @@ -586,7 +587,7 @@ class testPageLatestData extends CWebTest { /** * Test for clicking on particular item tag in table and checking that items are filtered by this tag. */ - public function testPageLatestData_ClickTag() { + public function testPageMonitoringLatestData_ClickTag() { $tag = ['tag' => 'component: ', 'value' => 'storage']; $hostid = CDBHelper::getValue('SELECT hostid FROM hosts WHERE name='.zbx_dbstr('ЗАББИКС Сервер')); @@ -617,7 +618,7 @@ class testPageLatestData extends CWebTest { /** * Test that checks if host has visible name, it cannot be found by host name on Latest Data page. */ - public function testPageLatestData_NoHostNames() { + public function testPageMonitoringLatestData_NoHostNames() { $result = [ CDBHelper::getRandom( 'SELECT host'. @@ -756,7 +757,7 @@ class testPageLatestData extends CWebTest { /** * @dataProvider getItemDescription */ - public function testPageLatestData_checkItemDescription($data) { + public function testPageMonitoringLatestData_checkItemDescription($data) { // Open Latest data for host 'testPageHistory_CheckLayout' $this->page->login()->open('zabbix.php?&action=latest.view&show_details=0&hostids%5B%5D='.$data['hostid']) ->waitUntilReady(); @@ -792,7 +793,7 @@ class testPageLatestData extends CWebTest { /** * Maintenance icon hintbox. */ - public function testPageLatestData_checkMaintenanceIcon() { + public function testPageMonitoringLatestData_checkMaintenanceIcon() { $this->page->login()->open('zabbix.php?action=latest.view')->waitUntilReady(); $form = $this->query('name:zbx_filter')->asForm()->one(); $form->fill(['Hosts' => 'Available host in maintenance']); @@ -808,7 +809,7 @@ class testPageLatestData extends CWebTest { /** * Check hint text for Last check and Last value columns */ - public function testPageLatestData_checkHints() { + public function testPageMonitoringLatestData_checkHints() { $itemid = CDBHelper::getValue('SELECT itemid FROM items WHERE name='.zbx_dbstr('4_item')); $time = time(); $value = '15'; diff --git a/ui/tests/selenium/testPageAvailabilityReport.php b/ui/tests/selenium/reports/testPageAvailabilityReport.php index 75e93cc281b..5f91672f7a8 100644 --- a/ui/tests/selenium/testPageAvailabilityReport.php +++ b/ui/tests/selenium/reports/testPageAvailabilityReport.php @@ -18,7 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; use Facebook\WebDriver\WebDriverBy; diff --git a/ui/tests/selenium/reports/testScheduledReportPermissions.php b/ui/tests/selenium/reports/testScheduledReportPermissions.php index 90ba5d004b1..9b32f4971b1 100644 --- a/ui/tests/selenium/reports/testScheduledReportPermissions.php +++ b/ui/tests/selenium/reports/testScheduledReportPermissions.php @@ -18,6 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ + require_once dirname(__FILE__).'/../../include/CWebTest.php'; require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; diff --git a/ui/tests/selenium/roles/testFormUserRoles.php b/ui/tests/selenium/roles/testFormUserRoles.php index ca8234cd46c..059407eaf8e 100644 --- a/ui/tests/selenium/roles/testFormUserRoles.php +++ b/ui/tests/selenium/roles/testFormUserRoles.php @@ -24,12 +24,11 @@ require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** - * @backup role, module, users + * @dataSource EntitiesTags, Services * - * @dataSource Services + * @backup role, module, users * - * @onBefore prepareRoleData - * @onBefore prepareUserData + * @onBefore prepareRoleData, prepareUserData */ class testFormUserRoles extends CWebTest { diff --git a/ui/tests/selenium/roles/testPageUserRoles.php b/ui/tests/selenium/roles/testPageUserRoles.php index b824adacd2d..dbfc8254281 100644 --- a/ui/tests/selenium/roles/testPageUserRoles.php +++ b/ui/tests/selenium/roles/testPageUserRoles.php @@ -25,7 +25,10 @@ require_once dirname(__FILE__).'/../../include/helpers/CDataHelper.php'; require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** + * @dataSource ScheduledReports, ExecuteNowAction + * * @backup role + * * @onBefore prepareRoleData * @dataSource LoginUsers, ExecuteNowAction */ @@ -144,8 +147,8 @@ class testPageUserRoles extends CWebTest { ], [ 'Name' => 'Admin role', - '#' => 'Users 2', - 'Users' => 'admin-zabbix, http-auth-admin' + '#' => 'Users 4', + 'Users' => 'admin-zabbix, admin user for testFormScheduledReport, http-auth-admin, user-recipient of the report' ], [ 'Name' => 'Guest role', diff --git a/ui/tests/selenium/services/testFormServicesServices.php b/ui/tests/selenium/services/testFormServicesServices.php index b12ba73624c..6296c181ce1 100644 --- a/ui/tests/selenium/services/testFormServicesServices.php +++ b/ui/tests/selenium/services/testFormServicesServices.php @@ -24,10 +24,11 @@ require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** - * @backup services - * + * @dataSource EntitiesTags * @dataSource Services * + * @backup services + * * @onBefore prepareServicesData */ class testFormServicesServices extends CWebTest { @@ -330,8 +331,8 @@ class testFormServicesServices extends CWebTest { $children_dialog->waitUntilReady(); // Check possible children count in table. - $this->assertEquals(count(self::$serviceids), $children_dialog->query('class:list-table')->asTable()->one() - ->getRows()->count() + $this->assertEquals(CDBHelper::getCount('SELECT null FROM services'), $children_dialog->query('class:list-table') + ->asTable()->one()->getRows()->count() ); foreach (['Add', 'Cancel'] as $button) { diff --git a/ui/tests/selenium/services/testPageServicesServices.php b/ui/tests/selenium/services/testPageServicesServices.php index c3032ae8a1c..b9d87ec27e2 100644 --- a/ui/tests/selenium/services/testPageServicesServices.php +++ b/ui/tests/selenium/services/testPageServicesServices.php @@ -24,9 +24,10 @@ require_once dirname(__FILE__).'/../traits/TableTrait.php'; require_once dirname(__FILE__).'/../behaviors/CMessageBehavior.php'; /** - * @backup services - * + * @dataSource EntitiesTags * @dataSource Services + * + * @backup services */ class testPageServicesServices extends CWebTest { @@ -34,7 +35,7 @@ class testPageServicesServices extends CWebTest { const EDIT = true; - const SERVICE_COUNT = 16; + const SERVICE_COUNT = 19; const LAYOUT_PARENT = 'Parent for 2 levels of child services'; const LAYOUT_CHILD = 'Child service with child service'; @@ -315,6 +316,7 @@ class testPageServicesServices extends CWebTest { ] ], 'result' => [ + 'Service with tags for updating', 'Parent for 2 levels of child services 1', 'Service with multiple service tags', 'Simple actions service' @@ -451,6 +453,7 @@ class testPageServicesServices extends CWebTest { ] ], 'result' => [ + 'Service with tags for updating', 'Parent for 2 levels of child services 1', 'Service with multiple service tags', 'Simple actions service' @@ -473,7 +476,7 @@ class testPageServicesServices extends CWebTest { ] ], 'result' => [ - 'Name' => 'Simple actions service' + 'Simple actions service' ] ] ], @@ -521,6 +524,7 @@ class testPageServicesServices extends CWebTest { ] ], 'result' => [ + 'Service with tags for updating', 'Parent for 2 levels of child services 1', 'Service with multiple service tags' ] diff --git a/ui/tests/selenium/testFormTemplate.php b/ui/tests/selenium/templates/testFormTemplate.php index 70b117415c8..35e4ddbb2ab 100644 --- a/ui/tests/selenium/testFormTemplate.php +++ b/ui/tests/selenium/templates/testFormTemplate.php @@ -18,7 +18,8 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; + +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; use Facebook\WebDriver\Exception\NoSuchElementException; use Facebook\WebDriver\WebDriverBy; diff --git a/ui/tests/selenium/testPageTemplates.php b/ui/tests/selenium/templates/testPageTemplates.php index 7f668478546..955ed33a658 100644 --- a/ui/tests/selenium/testPageTemplates.php +++ b/ui/tests/selenium/templates/testPageTemplates.php @@ -18,14 +18,15 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ -require_once dirname(__FILE__).'/../include/CLegacyWebTest.php'; -require_once dirname(__FILE__).'/traits/TagTrait.php'; -require_once dirname(__FILE__).'/traits/TableTrait.php'; + +require_once dirname(__FILE__).'/../../include/CLegacyWebTest.php'; +require_once dirname(__FILE__).'/../traits/TagTrait.php'; +require_once dirname(__FILE__).'/../traits/TableTrait.php'; /** * @backup profiles * - * @dataSource TagFilter + * @dataSource TagFilter, EntitiesTags */ class testPageTemplates extends CLegacyWebTest { @@ -179,7 +180,8 @@ class testPageTemplates extends CLegacyWebTest { 'expected_templates' => [ 'Template for tags filtering', 'Template for tags filtering - clone', - 'Template for tags filtering - update' + 'Template for tags filtering - update', + 'Template for tags testing' ] ] ], @@ -193,7 +195,8 @@ class testPageTemplates extends CLegacyWebTest { 'expected_templates' => [ 'Template for tags filtering', 'Template for tags filtering - clone', - 'Template for tags filtering - update' + 'Template for tags filtering - update', + 'Template for tags testing' ] ] ], @@ -204,7 +207,8 @@ class testPageTemplates extends CLegacyWebTest { ['name' => 'tag', 'operator' => 'Equals', 'value' => 'TEMPLATE'] ], 'expected_templates' => [ - 'Template for tags filtering' + 'Template for tags filtering', + 'Template for tags testing' ] ] ], @@ -217,7 +221,8 @@ class testPageTemplates extends CLegacyWebTest { 'expected_templates' => [ 'Template for tags filtering', 'Template for tags filtering - clone', - 'Template for tags filtering - update' + 'Template for tags filtering - update', + 'Template for tags testing' ] ] ], @@ -251,12 +256,14 @@ class testPageTemplates extends CLegacyWebTest { 'expected_templates' => [ 'Template for tags filtering', 'Template for tags filtering - clone', - 'Template for tags filtering - update' + 'Template for tags filtering - update', + 'Template for tags testing' ] ] ], [ [ + 'Name' => 'template', 'evaluation_type' => 'And/Or', 'tags' => [ ['name' => 'test', 'operator' => 'Does not exist'], @@ -382,9 +389,14 @@ class testPageTemplates extends CLegacyWebTest { * @dataProvider getFilterByTagsData */ public function testPageTemplates_FilterByTags($data) { - $this->page->login()->open('templates.php?filter_name=template&filter_evaltype=0&filter_tags%5B0%5D%5Btag%5D='. + $this->page->login()->open('templates.php?filter_name=template+for+tags&filter_evaltype=0&filter_tags%5B0%5D%5Btag%5D='. '&filter_tags%5B0%5D%5Boperator%5D=0&filter_tags%5B0%5D%5Bvalue%5D=&filter_set=1'); $form = $this->query('name:zbx_filter')->waitUntilPresent()->asForm()->one(); + + if (array_key_exists('Name', $data)) { + $form->fill(['Name' => $data['Name']]); + } + $form->fill(['id:filter_evaltype' => $data['evaluation_type']]); $this->setTags($data['tags']); $form->submit(); diff --git a/ui/tests/selenium/testFormAdministrationAuthenticationHttp.php b/ui/tests/selenium/testFormAdministrationAuthenticationHttp.php index 25f25392ef0..35a433b6e1a 100644 --- a/ui/tests/selenium/testFormAdministrationAuthenticationHttp.php +++ b/ui/tests/selenium/testFormAdministrationAuthenticationHttp.php @@ -680,7 +680,7 @@ class testFormAdministrationAuthenticationHttp extends CLegacyWebTest { /** * Guest user needs to be out of "Disabled" group to have access to frontend. */ - public function removeGuestFromDisabledGroup() { + public function removeGuestFromDisabledGroup() { DBexecute('DELETE FROM users_groups WHERE userid=2 AND usrgrpid=9'); } diff --git a/ui/tests/selenium/testFormAdministrationGeneralAutoregistration.php b/ui/tests/selenium/testFormAdministrationGeneralAutoregistration.php index 8ca1915656a..ea2e2a7bd55 100644 --- a/ui/tests/selenium/testFormAdministrationGeneralAutoregistration.php +++ b/ui/tests/selenium/testFormAdministrationGeneralAutoregistration.php @@ -18,6 +18,7 @@ ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. **/ + require_once dirname(__FILE__) . '/../include/CWebTest.php'; /** @@ -162,7 +163,17 @@ class testFormAdministrationGeneralAutoregistration extends CWebTest { // Check Audit record about autoregistration update. $this->page->open('zabbix.php?action=auditlog.list'); + + // Click on Filter tab if it is not selected. + if ($this->query('xpath://li[@aria-labelledby="ui-id-2" and @aria-selected="false"]')->exists()) { + $this->query('id:ui-id-2')->one()->click(); + } + + // Reset filter to delete deependencies from previous tests. + $this->query('button:Reset')->waitUntilClickable()->one()->click(); + $this->page->waitUntilReady(); $rows = $this->query('class:list-table')->asTable()->one()->getRows(); + // Get first row data. $row = $rows->get(0); foreach ($data['audit'] as $column => $value) { diff --git a/ui/tests/selenium/testFormTabIndicators.php b/ui/tests/selenium/testFormTabIndicators.php index 69d191196b4..13f54ab8aac 100644 --- a/ui/tests/selenium/testFormTabIndicators.php +++ b/ui/tests/selenium/testFormTabIndicators.php @@ -25,8 +25,8 @@ require_once dirname(__FILE__).'/../include/helpers/CDataHelper.php'; /** * @dataSource Services + * @dataSource EntitiesTags * - * @backup services * @backup profiles */ class testFormTabIndicators extends CWebTest { @@ -825,7 +825,7 @@ class testFormTabIndicators extends CWebTest { $overlay->query('id:serviceid_all')->asCheckbox()->one()->check(); $overlay->query('button:Select')->one()->click(); $overlay->waitUntilNotVisible(); - $this->assertTabIndicator($tab_selector, count(CDataHelper::get('Services.serviceids'))); + $this->assertTabIndicator($tab_selector, CDBHelper::getCount('SELECT null FROM services')); // Remove all child services and check count indicator. $child_services_tab->query('button:Remove')->all()->click(); diff --git a/ui/tests/selenium/testInheritanceHostPrototype.php b/ui/tests/selenium/testInheritanceHostPrototype.php index 73a40bb3c99..57de3f86508 100644 --- a/ui/tests/selenium/testInheritanceHostPrototype.php +++ b/ui/tests/selenium/testInheritanceHostPrototype.php @@ -456,7 +456,7 @@ class testInheritanceHostPrototype extends CLegacyWebTest { if (array_key_exists('template', $data)) { $this->zbxTestClickButtonMultiselect('add_templates_'); $this->zbxTestLaunchOverlayDialog('Templates'); - COverlayDialogElement::find()->one()->setDataContext('Templates'); + COverlayDialogElement::find()->waitUntilReady()->one()->setDataContext('Templates'); $this->zbxTestClickLinkTextWait($data['template']); } |