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:
Zoltán Bedi
2024-06-13 16:38:31 +02:00
committed by GitHub
parent aecdb4bbee
commit 803dbf512c
2 changed files with 33 additions and 5 deletions

View File

@@ -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'] });
});
});
});

View File

@@ -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);