51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
import { TemplateSrv } from '@grafana/runtime';
|
|
|
|
import { getMockDSInstanceSettings, mockBackendService } from '../__mocks__/datasource';
|
|
import { mockInfluxSQLVariableFetchResponse } from '../__mocks__/response';
|
|
|
|
import { FlightSQLDatasource } from './datasource.flightsql';
|
|
|
|
mockBackendService(mockInfluxSQLVariableFetchResponse);
|
|
describe('flightsql datasource', () => {
|
|
const templateSrv: TemplateSrv = {
|
|
containsTemplate: jest.fn(),
|
|
replace: jest.fn().mockImplementation((val: string) => val),
|
|
updateTimeRange: jest.fn(),
|
|
getVariables: jest.fn().mockReturnValue([
|
|
{
|
|
name: 'templateVar',
|
|
text: 'templateVar',
|
|
value: 'templateVar',
|
|
type: '',
|
|
label: 'templateVar',
|
|
},
|
|
]),
|
|
};
|
|
const mockInstanceSettings = getMockDSInstanceSettings();
|
|
const instanceSettings = {
|
|
...mockInstanceSettings,
|
|
jsonData: {
|
|
...mockInstanceSettings.jsonData,
|
|
allowCleartextPasswords: false,
|
|
tlsAuth: false,
|
|
tlsAuthWithCACert: false,
|
|
tlsSkipVerify: false,
|
|
maxIdleConns: 1,
|
|
maxOpenConns: 1,
|
|
maxIdleConnsAuto: true,
|
|
connMaxLifetime: 1,
|
|
timezone: '',
|
|
user: '',
|
|
database: '',
|
|
url: '',
|
|
timeInterval: '',
|
|
},
|
|
};
|
|
const ds = new FlightSQLDatasource(instanceSettings, templateSrv);
|
|
|
|
it('should add template variables to the responses', async () => {
|
|
const fields = await ds.fetchFields({ dataset: 'test', table: 'table' });
|
|
expect(fields[0].name).toBe('$templateVar');
|
|
});
|
|
});
|