diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts index c11caa9d44d..f406e91a701 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.test.ts @@ -182,4 +182,11 @@ describe('CompletionDataProvider', () => { test('Returns the expected series labels', async () => { expect(await completionProvider.getSeriesLabels([])).toEqual(seriesLabels); }); + + test('Escapes correct characters when building stream selector in getSeriesLabels', async () => { + completionProvider.getSeriesLabels([{ name: 'job', op: '=', value: '"a\\b\n' }]); + expect(languageProvider.fetchSeriesLabels).toHaveBeenCalledWith('{job="\\"a\\\\b\\n"}', { + timeRange: mockTimeRange, + }); + }); }); diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts index 83bb111de1f..f982d524855 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/CompletionDataProvider.ts @@ -1,9 +1,9 @@ import { chain } from 'lodash'; import { HistoryItem, TimeRange } from '@grafana/data'; -import { escapeLabelValueInExactSelector } from 'app/plugins/datasource/prometheus/language_utils'; import LanguageProvider from '../../../LanguageProvider'; +import { escapeLabelValueInExactSelector } from '../../../languageUtils'; import { ParserAndLabelKeysResult, LokiQuery } from '../../../types'; import { Label } from './situation';