db connector: refactor

This commit is contained in:
Alexander Zobnin
2018-10-30 19:58:48 +03:00
parent 6da2479e9d
commit 6eb52619b9
6 changed files with 64 additions and 113 deletions

View File

@@ -1,9 +1,8 @@
import mocks from '../../test-setup/mocks';
import DBConnector from '../zabbix/connectors/dbConnector';
import { DBConnector } from '../zabbix/connectors/dbConnector';
describe('DBConnector', () => {
let ctx = {};
const backendSrv = mocks.backendSrvMock;
const datasourceSrv = mocks.datasourceSrvMock;
datasourceSrv.loadDatasource.mockResolvedValue({ id: 42, name: 'foo', meta: {} });
datasourceSrv.getAll.mockReturnValue([{ id: 42, name: 'foo' }]);
@@ -20,14 +19,14 @@ describe('DBConnector', () => {
ctx.options = {
datasourceName: 'bar'
};
const dbConnector = new DBConnector(ctx.options, backendSrv, datasourceSrv);
const dbConnector = new DBConnector(ctx.options, datasourceSrv);
dbConnector.loadDBDataSource();
expect(datasourceSrv.getAll).not.toHaveBeenCalled();
expect(datasourceSrv.loadDatasource).toHaveBeenCalledWith('bar');
});
it('should load datasource by id if name not present', () => {
const dbConnector = new DBConnector(ctx.options, backendSrv, datasourceSrv);
const dbConnector = new DBConnector(ctx.options, datasourceSrv);
dbConnector.loadDBDataSource();
expect(datasourceSrv.getAll).toHaveBeenCalled();
expect(datasourceSrv.loadDatasource).toHaveBeenCalledWith('foo');
@@ -35,13 +34,13 @@ describe('DBConnector', () => {
it('should throw error if no name and id specified', () => {
ctx.options = {};
const dbConnector = new DBConnector(ctx.options, backendSrv, datasourceSrv);
const dbConnector = new DBConnector(ctx.options, datasourceSrv);
return expect(dbConnector.loadDBDataSource()).rejects.toBe('SQL Data Source name should be specified');
});
it('should throw error if datasource with given id is not found', () => {
ctx.options.datasourceId = 45;
const dbConnector = new DBConnector(ctx.options, backendSrv, datasourceSrv);
const dbConnector = new DBConnector(ctx.options, datasourceSrv);
return expect(dbConnector.loadDBDataSource()).rejects.toBe('SQL Data Source with ID 45 not found');
});
});