[''], 'expected_error' => 'Invalid parameter "/1": a number is expected.' ], [ 'proxy' => ['abc'], 'expected_error' => 'Invalid parameter "/1": a number is expected.' ], [ 'proxy' => ['1.1'], 'expected_error' => 'Invalid parameter "/1": a number is expected.' ], [ 'proxy' => ['123456'], 'expected_error' => 'No permissions to referred object or it does not exist!' ], [ 'proxy' => ['99000', '99000'], 'expected_error' => 'Invalid parameter "/2": value (99000) already exists.' ], [ 'proxy' => ['99000', 'abcd'], 'expected_error' => 'Invalid parameter "/2": a number is expected.' ], // Check if proxy used in actions. [ 'proxy' => ['99003'], 'expected_error' => 'Proxy "Api active proxy in action" is used by action "API action with proxy".' ], [ 'proxy' => ['99000', '99003'], 'expected_error' => 'Proxy "Api active proxy in action" is used by action "API action with proxy".' ], // Check if proxy used in host. [ 'proxy' => ['99004'], 'expected_error' => 'Host "API Host monitored with proxy" is monitored by proxy "Api active proxy with host".' ], [ 'proxy' => ['99000', '99004'], 'expected_error' => 'Host "API Host monitored with proxy" is monitored by proxy "Api active proxy with host".' ], // Check if proxy used in discovery rule. [ 'proxy' => ['99006'], 'expected_error' => 'Proxy "Api active proxy for discovery" is used by discovery rule "API discovery rule for delete with proxy".' ], // Successfully delete proxy. [ 'proxy' => ['99000'], 'expected_error' => null ], [ 'proxy' => ['99001', '99002'], 'expected_error' => null ] ]; } /** * @dataProvider proxy_delete */ public function testProxy_Delete($proxy, $expected_error) { $result = $this->call('proxy.delete', $proxy, $expected_error); if ($expected_error === null) { foreach ($result['result']['proxyids'] as $id) { $this->assertEquals(0, CDBHelper::getCount('SELECT NULL FROM hosts WHERE hostid='.zbx_dbstr($id))); } } } }