/usr/share/grafana/public/app/plugins/datasource/influxdb
import { lastValueFrom } from 'rxjs'; import { SQLQuery } from '@grafana/sql'; import config from 'app/core/config'; import InfluxDatasource from './datasource'; import { getMockDSInstanceSettings, mockBackendService, mockTemplateSrv } from './mocks/datasource'; import { mockInfluxQueryRequest } from './mocks/request'; import { mockInfluxSQLFetchResponse } from './mocks/response'; import { InfluxVersion } from './types'; config.featureToggles.influxdbBackendMigration = true; mockBackendService(mockInfluxSQLFetchResponse); describe('InfluxDB SQL Support', () => { const replaceMock = jest.fn(); const templateSrv = mockTemplateSrv(replaceMock); let sqlQuery: SQLQuery; beforeEach(() => { sqlQuery = { refId: 'x', rawSql: 'SELECT "$interpolationVar2", time FROM iox.$interpolationVar WHERE time >= $__timeFrom AND time <= $__timeTo', }; }); describe('interpolate variables', () => { const ds = new InfluxDatasource(getMockDSInstanceSettings({ version: InfluxVersion.SQL }), templateSrv); it('should call replace template variables for rawSql', async () => { await lastValueFrom(ds.query(mockInfluxQueryRequest([sqlQuery]))); expect(replaceMock.mock.calls[1][0]).toBe( `SELECT "$interpolationVar2", time FROM iox.$interpolationVar WHERE time >= $__timeFrom AND time <= $__timeTo` ); }); }); });
.
Edit
..
Edit
README.md
Edit
components
Edit
constants.ts
Edit
datasource.test.ts
Edit
datasource.ts
Edit
datasource_sql.test.ts
Edit
fsql
Edit
img
Edit
influx_query_model.test.ts
Edit
influx_query_model.ts
Edit
influx_series.test.ts
Edit
influx_series.ts
Edit
influxql_metadata_query.test.ts
Edit
influxql_metadata_query.ts
Edit
influxql_query_builder.test.ts
Edit
influxql_query_builder.ts
Edit
migrations.ts
Edit
mocks
Edit
module.ts
Edit
plugin.json
Edit
queryUtils.test.ts
Edit
queryUtils.ts
Edit
query_help.md
Edit
query_part.test.ts
Edit
query_part.ts
Edit
response_parser.test.ts
Edit
response_parser.ts
Edit
types.ts
Edit
variables.ts
Edit