grafana_bak/public/app/plugins/datasource/influxdb/fsql/datasource.flightsql.test.ts
2025-04-01 10:38:02 +09:00

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