Fix: Problems panel failing for versions before 7.0.0 (#1840)
* Fix: Problems panel failing for versions before 7.0.0 * Add tests * Use spy instead of new argument
This commit is contained in:
@@ -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'] });
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -548,7 +548,7 @@ export class ZabbixAPIConnector {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Before version 7.0.0 proxy_hostid was used, after - proxyid
|
// 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');
|
params.selectHosts.push('proxy_hostid');
|
||||||
} else {
|
} else {
|
||||||
params.selectHosts.push('proxyid');
|
params.selectHosts.push('proxyid');
|
||||||
@@ -582,7 +582,7 @@ export class ZabbixAPIConnector {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Before version 7.0.0 proxy_hostid was used, after - proxyid
|
// 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');
|
params.selectHosts.push('proxy_hostid');
|
||||||
} else {
|
} else {
|
||||||
params.selectHosts.push('proxyid');
|
params.selectHosts.push('proxyid');
|
||||||
@@ -877,10 +877,11 @@ export class ZabbixAPIConnector {
|
|||||||
const params = {
|
const params = {
|
||||||
output: ['proxyid'],
|
output: ['proxyid'],
|
||||||
};
|
};
|
||||||
if (semver.lte(this.version, '7.0.0')) {
|
// Before version 7.0.0 host was used, after - name
|
||||||
params.output.push('name');
|
if (semver.lt(this.version, '7.0.0')) {
|
||||||
} else {
|
|
||||||
params.output.push('host');
|
params.output.push('host');
|
||||||
|
} else {
|
||||||
|
params.output.push('name');
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.request('proxy.get', params);
|
return this.request('proxy.get', params);
|
||||||
|
|||||||
Reference in New Issue
Block a user