mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Explore: Remove datasource testing on selector - datasource testing gets in the way of fast query iteration: switching between datasources can take seconds - it should not be explore's duty to test datasources in the first place - removed the concept of datasourceError in Explore, should not be its concern - datasource erorrs will express themselves in query errors just fine - connection errors are still bubbled up - removed reconnection logic from explore, should not be its concern - missing labels in loki are still "visible" via an empty label selector - Loki and Prometheus treated connection errors differently than other datasources, making sure to pass through the original error message * Show datasource error in query field for prom/loki/influx * Removed connection test case, fixed disabled state
29 lines
1.1 KiB
TypeScript
29 lines
1.1 KiB
TypeScript
import { renderHook, act } from 'react-hooks-testing-library';
|
|
import LanguageProvider from 'app/plugins/datasource/loki/language_provider';
|
|
import { useLokiLabels } from './useLokiLabels';
|
|
import { AbsoluteTimeRange } from '@grafana/data';
|
|
import { makeMockLokiDatasource } from '../mocks';
|
|
|
|
describe('useLokiLabels hook', () => {
|
|
it('should refresh labels', async () => {
|
|
const datasource = makeMockLokiDatasource({});
|
|
const languageProvider = new LanguageProvider(datasource);
|
|
const logLabelOptionsMock = ['Holy mock!'];
|
|
const rangeMock: AbsoluteTimeRange = {
|
|
from: 1560153109000,
|
|
to: 1560153109000,
|
|
};
|
|
|
|
languageProvider.refreshLogLabels = () => {
|
|
languageProvider.logLabelOptions = logLabelOptionsMock;
|
|
return Promise.resolve();
|
|
};
|
|
|
|
const { result, waitForNextUpdate } = renderHook(() => useLokiLabels(languageProvider, true, [], rangeMock));
|
|
act(() => result.current.refreshLabels());
|
|
expect(result.current.logLabelOptions).toEqual([]);
|
|
await waitForNextUpdate();
|
|
expect(result.current.logLabelOptions).toEqual(logLabelOptionsMock);
|
|
});
|
|
});
|