diff --git a/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.test.ts b/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.test.ts new file mode 100644 index 00000000..d2ff32ea --- /dev/null +++ b/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.test.ts @@ -0,0 +1,27 @@ +import { ZabbixAPIConnector } from './zabbixAPIConnector'; + +describe('Zabbix API connector', () => { + describe('getProxies function', () => { + beforeAll(() => { + jest.spyOn(ZabbixAPIConnector.prototype, 'initVersion').mockResolvedValue(''); + }); + + it('should send the name parameter to the request when version is 7 or greater for the getProxies', async () => { + const zabbixAPIConnector = new ZabbixAPIConnector(true, true, 123); + zabbixAPIConnector.version = '7.0.0'; + zabbixAPIConnector.request = jest.fn(); + + await zabbixAPIConnector.getProxies(); + expect(zabbixAPIConnector.request).toHaveBeenCalledWith('proxy.get', { output: ['proxyid', 'name'] }); + }); + + it('should send the host parameter when version is less than 7.0.0', () => { + const zabbixAPIConnector = new ZabbixAPIConnector(true, true, 123); + zabbixAPIConnector.version = '6.0.0'; + zabbixAPIConnector.request = jest.fn(); + + zabbixAPIConnector.getProxies(); + expect(zabbixAPIConnector.request).toHaveBeenCalledWith('proxy.get', { output: ['proxyid', 'host'] }); + }); + }); +}); diff --git a/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.ts b/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.ts index 89ef2200..845e08a4 100644 --- a/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.ts +++ b/src/datasource/zabbix/connectors/zabbix_api/zabbixAPIConnector.ts @@ -548,7 +548,7 @@ export class ZabbixAPIConnector { }; // Before version 7.0.0 proxy_hostid was used, after - proxyid - if (semver.lte(this.version, '7.0.0')) { + if (semver.lt(this.version, '7.0.0')) { params.selectHosts.push('proxy_hostid'); } else { params.selectHosts.push('proxyid'); @@ -582,7 +582,7 @@ export class ZabbixAPIConnector { }; // Before version 7.0.0 proxy_hostid was used, after - proxyid - if (semver.lte(this.version, '7.0.0')) { + if (semver.lt(this.version, '7.0.0')) { params.selectHosts.push('proxy_hostid'); } else { params.selectHosts.push('proxyid'); @@ -877,10 +877,11 @@ export class ZabbixAPIConnector { const params = { output: ['proxyid'], }; - if (semver.lte(this.version, '7.0.0')) { - params.output.push('name'); - } else { + // Before version 7.0.0 host was used, after - name + if (semver.lt(this.version, '7.0.0')) { params.output.push('host'); + } else { + params.output.push('name'); } return this.request('proxy.get', params);