link = 'zabbix.php?action=search&search=Templates'; $this->layout('Templates'); } public static function getTemplateUpdateData() { return [ [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => 'Hosts/Update' ] ] ], [ [ 'expected' => TEST_BAD, 'fields' => [ 'Group name' => 'Templates', 'Apply permissions to all subgroups' => true ], 'error' => 'Template group "Templates" already exists.' ] ], [ [ 'expected' => TEST_GOOD, 'fields' => [ 'Group name' => str_repeat('updat', 51) ] ] ] ]; } /** * @dataProvider getUpdateData * @dataProvider getTemplateUpdateData */ public function testFormTemplateGroupSearchPage_Update($data) { $this->link = 'zabbix.php?action=search&search=updat'; $this->checkForm($data, 'update'); } /** * Test group simple update without changing data. */ public function testFormTemplateGroupSearchPage_SimpleUpdate() { $this->link = 'zabbix.php?action=search&search=Templates'; $this->simpleUpdate('Templates'); } /** * @dataProvider getCloneData */ public function testFormTemplateGroupSearchPage_Clone($data) { $this->clone($data); } /** * @dataProvider getCancelData */ public function testFormTemplateGroupSearchPage_Cancel($data) { $this->cancel($data); } public static function getTemplateDeleteData() { return [ [ [ 'expected' => TEST_BAD, 'name' => self::DELETE_ONE_GROUP, 'error' => 'Template "Template for template group testing" cannot be without template group.' ] ] ]; } /** * @dataProvider getDeleteData * @dataProvider getTemplateDeleteData */ public function testFormTemplateGroupSearchPage_Delete($data) { $this->delete($data); } public static function getSubgroupPermissionsData() { return [ [ [ 'apply_permissions' => 'Europe', // Permission inheritance doesn't apply when changing the name of existing group. 'open_form' => 'Europe group for test on search page', 'create' => 'Streets/Dzelzavas', 'groups_after' => [ 'Cities/Cesis' => 'Read', 'Europe (including subgroups)' => 'Deny', 'Streets' => 'Deny', 'Streets/Dzelzavas' => 'None' ], 'tags_before' => [ ['Host group' => 'Cities/Cesis', 'Tags' => 'city: Cesis'], ['Host group' => 'Europe', 'Tags' => 'world'], ['Host group' => 'Europe/Test', 'Tags' => 'country: test'], ['Host group' => 'Streets', 'Tags' => 'street'] ] ] ] ]; } /** * @onBeforeOnce prepareSubgroupData * @dataProvider getSubgroupPermissionsData */ public function testFormTemplateGroupSearchPage_ApplyPermissionsToSubgroups($data) { $this->link = 'zabbix.php?action=search&search=europe'; $this->checkSubgroupsPermissions($data); } }