Chore: Dependency clean up

This commit is contained in:
Zoltán Bedi
2023-09-24 22:59:27 +02:00
parent fe55c450bd
commit fdca810285
33 changed files with 4052 additions and 14822 deletions

View File

@@ -0,0 +1,113 @@
import { Zabbix } from './zabbix';
jest.mock(
'@grafana/runtime',
() => ({
getBackendSrv: () => ({
datasourceRequest: jest.fn().mockResolvedValue({ data: { result: '' } }),
fetch: () => ({
toPromise: () => jest.fn().mockResolvedValue({ data: { result: '' } }),
}),
}),
}),
{ virtual: true }
);
describe('Zabbix', () => {
let consoleSpy: jest.SpyInstance;
let ctx = {
options: {
url: 'http://localhost',
username: 'zabbix',
password: 'zabbix',
},
};
let zabbix;
beforeEach(() => {
zabbix = new Zabbix(ctx.options);
consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => {});
});
afterEach(() => {
consoleSpy.mockRestore();
});
describe('When querying proxies', () => {
beforeEach(() => {
zabbix.zabbixAPI.getProxies = jest.fn().mockResolvedValue([
{ host: 'proxy-foo', proxyid: '10101' },
{ host: 'proxy-bar', proxyid: '10102' },
]);
});
it('should return all proxies if filter set to /.*/', (done) => {
zabbix.getFilteredProxies('/.*/').then((proxies) => {
expect(proxies).toMatchObject([{ host: 'proxy-foo' }, { host: 'proxy-bar' }]);
done();
});
});
it('should return matched proxies if regex filter used', (done) => {
zabbix.getFilteredProxies('/.*-foo/').then((proxies) => {
expect(proxies).toMatchObject([{ host: 'proxy-foo' }]);
done();
});
});
it('should return matched proxies if simple filter used', (done) => {
zabbix.getFilteredProxies('proxy-bar').then((proxies) => {
expect(proxies).toMatchObject([{ host: 'proxy-bar' }]);
done();
});
});
it('should return empty list for empty filter', (done) => {
zabbix.getFilteredProxies('').then((proxies) => {
expect(proxies).toEqual([]);
done();
});
});
});
describe('When filtering triggers by proxy', () => {
const triggers = [
{ triggerid: '1', hosts: [{ name: 'backend01', proxy_hostid: '0' }] },
{ triggerid: '2', hosts: [{ name: 'backend02', proxy_hostid: '0' }] },
{ triggerid: '3', hosts: [{ name: 'frontend01', proxy_hostid: '10101' }] },
{ triggerid: '4', hosts: [{ name: 'frontend02', proxy_hostid: '10101' }] },
{ triggerid: '5', hosts: [{ name: 'db01', proxy_hostid: '10102' }] },
{ triggerid: '6', hosts: [{ name: 'db02', proxy_hostid: '10102' }] },
];
beforeEach(() => {
zabbix.zabbixAPI.getProxies = jest.fn().mockResolvedValue([
{ host: 'proxy-foo', proxyid: '10101' },
{ host: 'proxy-bar', proxyid: '10102' },
]);
});
it('should return all triggers for empty filter', (done) => {
zabbix.filterTriggersByProxy(triggers, '').then((triggers) => {
const triggerids = triggers.map((t) => t.triggerid);
expect(triggerids).toEqual(['1', '2', '3', '4', '5', '6']);
done();
});
});
it('should return triggers belonging proxy matched regex filter', (done) => {
zabbix.filterTriggersByProxy(triggers, '/.*-foo/').then((triggers) => {
const triggerids = triggers.map((t) => t.triggerid);
expect(triggerids).toEqual(['3', '4']);
done();
});
});
it('should return triggers belonging proxy matched name filter', (done) => {
zabbix.filterTriggersByProxy(triggers, 'proxy-bar').then((triggers) => {
const triggerids = triggers.map((t) => t.triggerid);
expect(triggerids).toEqual(['5', '6']);
done();
});
});
});
});